2013-04-01 176 views
3

消息錯誤而從作業執行SSIS包

Executed as user: UKDBT91DB05V\SYSTEM. Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 64-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. Started: 14:58:34 Error: 2013-04-01 14:58:34.45 Code: 0xC0016016
Source: Description: Failed to decrypt protected XML node "DTS:Property" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error Error: 2013-04-01 14:58:34.76 Code: 0xC001000E Source: ReceiveDGDinformation Description: The connection "stock" is not found. This error is thrown by Connections collection when the specific connection element is not found. End Error Error: 2013-04-01 14:58:34.80 Code: 0xC0202009 Source: ReceiveDGDinformation Connection manager "Stock" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E4D Description: "Login failed for user 'DOTCOM\UKDBT91DB05V$'.". End Error Error: 2013-04-01 14:58:34.80 Code: 0xC020801C Source: Populate Staginng Table Populate DGD Staging table [34] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Stock" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error Error: 2013-04-01 14:58:34.80 Code: 0xC0047017 Source: Populate Staginng Table SSIS.Pipeline Description: component "Populate DGD Staging table" (34) failed validation and returned error code 0xC020801C. End Error Error: 2013-04-01 14:58:34.80 Code: 0xC004700C Source: Populate Staginng Table SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2013-04-01 14:58:34.80 Code: 0xC0024107 Source: Populate Staginng Table Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 14:58:34 Finished: 14:58:34 Elapsed: 0.624 seconds. The package execution failed. The step failed.

錯誤消息

  • 無法解密受保護的XML節點「DTS:屬性」的有意義的位錯誤0x8009000B「鍵不是有效的使用在指定的狀態。「。您可能無權訪問此信息。當有密碼錯誤
  • 用戶登錄失敗「DOTCOM \ UKDBT91DB05V $」
+0

您正在從SQL代理作業啓動軟件包 - 您設置了哪些參數?包是否實際加密?您是否使用用戶名和密碼連接到庫存數據庫或連接管理器使用SSPI? – billinkc

回答

5

這可能是您的ProtectionLevel設置和你如何配置作業有問題,會出現此錯誤。

如果ProtectionLevel處於默認的「EncryptSensitiveWithUserKey」設置,則開發環境使用取決於正在進行開發的用戶的密鑰來加密諸如連接字符串數據庫密碼之類的內容。將其部署到生產服務器並安排SQL Server代理作業後,它很可能會在不同的用戶帳戶下運行,然後它將無法解密數據庫密碼。你會得到這個錯誤。

一種可能性是確保開發用戶和作業執行用戶是相同的用戶帳戶,但這不是一個好主意。通常,您希望生產用戶帳戶與開發用戶帳戶分開。

相反,您應該將ProtectionLevel設置爲「DontSaveSensitive」。然後密碼將不會保存在SSIS包中。您爲連接字符串創建配置文件,但密碼也不會保存到配置文件中。如果您希望它包含密碼,您將不得不手動編輯配置文件。但是,最好的方法是在計劃執行SSIS包的作業時配置密碼。這將密碼保存在一個安全的地方,並且它不會隨SSIS包一起浮動。

一些有用的鏈接herehere

祝你好運!

+1

如果解釋如何創建配置文件以及如何編輯配置文件,可以改進此答案。 –