Sql-Server

SSIS 2017 包中的連接管理器未保存密碼

  • September 19, 2019

我們在 SQL 2017 (14.0.3029.16) 上使用 Visual Studio 15.7.2 和 SSIS。

我們為第三方、供應商管理的 SQL Server 2008 R2 (10.50.6529.0) 建構了一個連接管理器。我們唯一允許的與該伺服器的連接是通過 SQL 登錄,因此 Windows 身份驗證是不行的。

我們可以在 Visual Studio/SSDT 中很好地執行包,包按照我們的預期成功執行並完成。

當我們在 SSDT 中打開包時,我們立即遇到錯誤:

包打開錯誤

在查看連接管理器時,我們會看到以下圖示:

連接管理器錯誤

當我們打開連接管理器時,我們看到的是這樣的(密碼空白,應該是*********):

密碼失去!

該軟體包配置為在東部時間晚上 8:45 執行(通過作業),並且每次都失敗。我們收到大量錯誤,基本上表明我們無法連接到第 3 方伺服器。調查顯示密碼沒有被保存,所以我們在前門被拒絕了!

有沒有人遇到過這個?我必須糾正哪些選項?我對 SSIS 有點陌生,所以我正在快速學習很多艱苦的課程。

預設情況下,SSIS 使用稱為 UserKey 的東西保存和加密敏感數據(密碼等)。這意味著除了先前保存 SSIS 包的人之外,沒有其他人能夠使用保存密碼的連接。

這可以通過 SSIS 包屬性 -> ProtectionLevel 進行更改。您應該選擇“EncryptAllWithPassword”並將密碼設置為“PackagePassword”屬性並保存包。現在當你下次打開包裝時,SSDT會要求你輸入密碼。輸入後,連接應該可以正常工作。

SQL 登錄的密碼是敏感的,因此它將從連接字元串中省略,因此不會保存。如果將包部署到 SSIS 目錄,則可以使用帶有Sensitive密碼屬性的環境變數,然後將其映射到連接管理器中的相應屬性。有關如何為 SQL 登錄實現此功能的更多詳細資訊,請參閱 Andy Leonard 的以下文章。如果要配置 SSIS 目錄,請參閱本系列的第 18 級。您還提到您對 SSIS 比較陌生,所以我建議您也通過這個樓梯。

http://www.sqlservercentral.com/articles/Stairway+Series/121490/

引用自:https://dba.stackexchange.com/questions/216350