2012-03-12 52 views

回答

3

保持腳本週圍創建擺在首位的存儲過程。

有一旦它被使用此選項創建檢索過程的文本沒有任何記載手段。有提示CREATE PROCEDURE,如果你絕望中恢復文本:

ENCRYPTION

表示SQL Server將在CREATE PROCEDURE語句的原始文本轉換爲模糊格式。 SQL Server中的任何目錄視圖中都不直接顯示混淆輸出。無權訪問系統表或數據庫文件的用戶無法檢索混淆文本。然而,該文本將提供給特權用戶誰在DAC端口既可以訪問系統表,或直接訪問數據庫文件。而且,誰又能調試器附着在該服務器進程的用戶可以在運行時從內存中檢索解密程序。

也就是說,您必須使用DAC連接並查詢未記錄的表格 - SSMS當然沒有可視化選項。

5

在當存儲的過程與加密的選項創建的情況下,SQL Server的內部存儲與所述對象的定義的文本中的模糊格式

對象的實際定義存儲在系統表sys.sysobjvalues這是不可直接訪問的。通過使用專用管理員連接(DAC)連接到SQL Server,您可以選擇存儲信息的imageval列

如果您的公司或客戶不允許使用第三方工具,請參閱此文章解密加密的對象:

http://www.mssqltips.com/sqlservertip/2964/encrypting-and-decrypting-sql-server-stored-procedures-views-and-userdefined-functions/

然而,最簡單的方法是使用第三方工具

其中之一是ApexSQL Complete,一個免費的SSMS和VS附加

在ApexSQL完全加密的對象作爲自己的DDL腳本顯示,在添加任何其他SQL Server對象進行處理,即使是使用解密被加密的對象選項

加密對象的腳本中顯示加密嵌入對象的詳細信息對話框:

enter image description here

聲明:我ApexSQL工作作爲支持工程師