工作 SSIS 包作為作業失敗,可能是由於數據流連接
我在 SQL Server 2012 中工作。我已經建構了一個由幾個腳本和 2 個數據流任務組成的 SSIS 包。數據流任務將數據從本地 SQL 伺服器移出到 Amazon SQL 伺服器。
整個包在 Visual Studio 中執行良好。我將它導入到集成服務中的儲存包中,我可以從那裡成功執行它。
但是,當我設置一個作業並將該 SSIS 包作為唯一的步驟執行時,它會失敗。我得到的唯一錯誤消息是第 1 步失敗。我無法解決它失敗的原因,因為它可以在 Visual Studio 甚至在集成服務中成功執行。
我之前成功地完成了一個類似的項目,這裡有什麼不同,我懷疑問題出在數據流任務中。我懷疑與 Amazon SQL Server 的連接失敗,密碼沒有正確傳遞。同樣,我在包中得到了正確的資訊,但不知何故它並沒有執行。
當 SSIS 包作為作業執行時,誰能指出正確傳遞身份驗證資訊的方法?
好吧,我想我明白了。我對此比較陌生,所以請原諒任何不好的術語。
我走上了正確的道路:https ://stackoverflow.com/questions/31755979/storing-password-in-ssis-package
基本上,與 Amazon DB 的外部連接是問題所在。我在 SSIS 包中儲存了正確的憑據以建立連接,但預設情況下,敏感資訊(例如密碼)以特定於創建包的使用者的方式加密。所以這個包對我來說執行得很好,但它不適用於其他任何人,包括這份工作。
要解決此問題,您需要更改預設的包保護,為包提供一種主密碼,以便任何人只要有包的密碼,包就可以正確執行。在項目屬性中,您可以找到 ProtectionLevel 並將值切換到另一個選項(我選擇“EncryptSensitiveWithPassword”。)您將輸入密碼,然後系統會提示您更改子封包件。進入包屬性並在那裡更改保護級別。在上面的行中輸入相同的密碼。保存。
現在,當您將包導入集成服務時,系統會提示您輸入密碼。然後,當您設置作業時,系統會再次提示您。但輸入密碼後,它執行成功。
希望這可以幫助某人。