SQL Server Pro の記事 "Decrypt SQL Server Objects" SQL Server 2008 でも引き続き機能します。
DAC経由で接続する必要があります。 ダウンロード .
次のストアド プロシージャ定義に対して実行する手順を要約すると
CREATE PROC dbo.myprocWITH ENCRYPTIONASSELECT 'FOO'プレ>
imagevalから暗号化されたオブジェクト テキストを取得しますsys.sysobjvaluesの列 変数@ContentOfEncryptedObjectに格納します@ObjectDataLengthを計算しますDATALENGTH(@ContentOfEncryptedObject)/2から .ALTER PROCEDUREを生成します-で正しい長さにパディングされたステートメント 文字 (この場合はALTER PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS------------)ALTERを実行します ステートメント、sys.sysobjvaluesから暗号化されたバージョンを取得します それを変数@ContentOfFakeEncryptedObjectに格納します その後、変更をロールバックします。CREATE PROCEDUREを生成します-で正しい長さにパディングされたステートメント 文字 (この場合はCREATE PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS--------------)。これは変数@ContentOfFakeObjectに格納されます次に、for
@i =1 to @ObjectDataLengthをループします。 次のXORを使用して、一度に 1 文字ずつ定義を復号化しますNCHAR( UNICODE(SUBSTRING(@ContentOfEncryptedObject, @i, 1)) ^ ( UNICODE(SUBSTRING(@ContentOfFakeObject, @i, 1)) ^ UNICODE(SUBSTRING(@ContentOfFakeEncryptedObject, @i, 1)) ) )コード> プレ>