2016年4月27日 星期三

(SSIS開發心得)保護等級

保護等級有兩個,一個是專案保護等級(Project Protection Level),一個是封裝保護等級(Package Protection Level ),用來加密機敏資料。專案和封裝保護等級兩者必須一致
用SSDT建立一個新的Integration Services 專案,預設的專案和封裝保護等級兩者都是EncryptAllWithUserKey,自己習慣使用EncryptAllWithPassword,因為使用UserKey拿到別台電腦開啟封裝檔又會提示有正確的金鑰。另外DTExec參數可以設定解密密碼,可以設定Windows工作排程用bat直接呼叫DTExec執行,不一定要把dtsx匯入到SQL Server執行(匯入SQL Server執行會多一個SSISDB的資料庫)。

使用DTExec解密密碼參數
DTExec /f D:\XX.dtsx /De MyPassword

Access Control for Sensitive Data in Packages
https://msdn.microsoft.com/en-us/library/ms141747.aspx

保護等級使用EncryptAllWithUserKey,拿到別台電腦開啟的錯誤訊息
錯誤    1    載入 XX.dtsx 時發生錯誤: 無法將保護的 XML 節點 "DTS:Password" 解密,錯誤為 0x8009000B "機碼用在特定狀態時無效。"。您可能沒有存取這項資訊的權限。當發生密碼編譯錯誤時,就會發生這個錯誤。請確認有正確的金鑰。      D:\ XX.dtsx    1    1   






專案保護等級設定













封裝保護等級設定

沒有留言:

張貼留言