![](/img/trans.png)
[英]How best to store a password in SQL Server so that the password can be retrieved
[英]SSIS in SQL Server: How to get it to store password
我是一個Oracle專家,突然把SQL Server和SSIS丟在了他的腿上,所以我可能沒有以正確的方式使用該術語,但是這里有:
有一個SSIS包,可將數據從Oracle數據庫提取到我們的SQL Server 2008 R2倉庫中。 如果我在SSIS Visual Studio 2008中打開此程序包,則會提示我輸入密碼:
軟件包“ MyRefresh.dtsx”中的敏感數據已使用密碼加密。
包裝本身。 我輸入密碼。 我運行程序包。 效果很好。 前一個家伙已經將此程序包加載到SQL Server中,並且每天要在凌晨1點運行,並且在那里工作也很好。
最近,發生了一些數據庫更改。 該程序包當然停止工作了。 我能夠修復它,並且再次通過SSIS Visual Studio 2008運行時,它運行良好。但是,當我將其加載到SQL Server中並運行該作業時,它失敗並顯示:
0xC001405F由於未指定密碼或密碼不正確,無法解密加密的XML節點。
我在哪里/如何指定密碼以便作業可以運行?
答案較晚,但可能對其他用戶/線程訪問者有幫助
簡而言之,要將程序包加載到SQL Server,必須使用指定的新憑據將其導出,然后再導入回指定的文件夾中。
這是我在SSMS中手動設置SSIS包加密的文章,該文章提供了有關如何導入/導出加密包的快速教程。
請注意,在一種情況下,“保護級別”選項涉及敏感數據,而在另一種情況下則涉及特定包裝中包含的所有數據。 默認情況下,在Integration Services中設置被認為敏感的數據:先前標記為精致,不可更改的XML標記(由SSIS服務控制)的變量和密碼,如果“使用密碼加密所有數據”,則可以視為敏感數據被選中。
包裝保護等級:
希望此信息對您有所幫助。
如果有機會,我建議您不再使用EncryptAllWithPassword保護級別。 在此處閱讀有關軟件包加密級別的更多信息:
簡而言之,包加密的想法是阻止人們打開包XML以提取純文本密碼。 但是通常這是以不安全的方式實現的,這無法達到目的。
我建議您改用Windows身份驗證:
/
登錄,無需密碼) 現在,您不再需要加密程序包(可以使用DontSaveSensitive )。 所有操作的權限均針對SQL Agent服務帳戶。
您無需再記住軟件包密碼或Orace登錄密碼。
同樣,例如,如果您需要輪換Oracle登錄名上的密碼,則最初您必須在Oracle 和軟件包中更改該密碼。 但是通過使用Windows身份驗證,這不再是必需的。
如果您有興趣,我可以給您更多信息。
您可以將/de
開關與dtexec
實用程序一起使用來輸入密碼,如下所示:
dtexec /f <filename> /de <password>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.