執行 SSIS 封裝時,若使用的電腦或使用者帳戶不是當初建立 SSIS 封裝時所用的電腦或使用者帳戶,便會發生下圖錯誤狀態。

image 
圖:Failed to decrypt protected XML node "DTS:Password" with error 0x8007000D "資料不正確。"


如果 SSIS 封裝中的 ProtectionLevel 屬性值是設定成對 SSIS 封裝中的 Password 屬性提供最大的保護,便會發生這種行為。
根據預設,ProtectionLevel 屬性值是設定成 EncryptSensitiveWithUserKey,如下圖所示。
EncryptSensitiveWithUserKey 值會加密 SSIS 封裝中所有視為機密性的屬性,例如 Password 屬性。
如果執行 SSIS 封裝時所用的使用者帳戶和電腦是與當初建立 SSIS 封裝時相同的話,SSIS 封裝會自動解密,而不會產生錯誤訊息。

image

由於開發環境與正式環境中的使用者帳戶不會全然相同,因此執行SSIS封裝時,若封裝的ProtectionLevel 屬性為預設的 EncryptSensitiveWithUserKey 值,而 SSIS 封裝的 Password 屬性仍是處於加密狀態,變會發生執行失敗。並出現錯誤訊息Failed to decrypt protected XML node "DTS:Password"

這時,只要對ProtectionLevel 屬性稍作修改即可。
(參考線上說明:Integration Services 的安全性考量 、  設定封裝的保護等級

參考:http://support.microsoft.com/?id=904800

arrow
arrow
    全站熱搜

    小草 發表在 痞客邦 留言(0) 人氣()