3

信息

以用户身份执行:UKDBT91DB05V\SYSTEM。Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 64-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始:14:58:34 错误:2013-04-01 14:58:34.45 代码:0xC0016016
来源:描述:无法解密受保护的 XML 节点“DTS:Property”,错误为 0x8009000B“密钥在指定状态下无效。”。您可能无权访问此信息。当存在加密错误时会发生此错误。验证正确的密钥是否可用。End Error 错误:2013-04-01 14:58:34.76 代码:0xC001000E 来源:ReceiveDGDinformation 描述:未找到连接“stock”。当未找到特定连接元素时,Connections 集合会引发此错误。结束错误错误:2013-04-01 14:58:34.80 代码:0xC0202009 来源:ReceiveDGDinformation 连接管理器“Stock”描述:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E4D。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80040E4D 描述:“用户 'DOTCOM\UKDBT91DB05V$' 登录失败。”。结束错误错误:2013-04-01 14:58:34.80 代码:0xC020801C 来源:填充暂存表填充 DGD 暂存表 [34] 描述:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Stock”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。结束错误错误:2013-04-01 14:58:34.80 代码:0xC0047017 来源:填充暂存表 SSIS.Pipeline 描述:组件“填充 DGD 暂存表” (34) 验证失败并返回错误代码 0xC020801C。结束错误错误:2013-04-01 14:58:34.80 代码:0xC004700C 来源:填充暂存表 SSIS.Pipeline 描述:一个或多个组件验证失败。结束错误错误:2013-04-01 14:58:34.80 代码:0xC0024107 来源:填充暂存表描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:14:58:34 结束时间:14:58:34 经过时间:0.624 秒。包执行失败。步骤失败。80 代码:0xC0024107 来源:填充暂存表描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:14:58:34 结束时间:14:58:34 经过时间:0.624 秒。包执行失败。步骤失败。80 代码:0xC0024107 来源:填充暂存表描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:14:58:34 结束时间:14:58:34 经过时间:0.624 秒。包执行失败。步骤失败。

错误消息的有意义的位

  • 无法解密受保护的 XML 节点“DTS:Property”,错误为 0x8009000B“密钥在指定状态下无效。”。您可能无权访问此信息。出现密码错误时会发生此错误
  • 用户“DOTCOM\UKDBT91DB05V$”登录失败
4

1 回答 1

7

这可能是您的 ProtectionLevel 设置以及您如何配置作业的问题。

如果 ProtectionLevel 处于默认的“EncryptSensitiveWithUserKey”设置,则开发环境正在使用取决于进行开发的用户的密钥对连接字符串数据库密码等内容进行加密。将其部署到生产服务器并安排 SQL Server 代理作业后,它很可能会在不同的用户帐户下运行,然后将无法解密数据库密码。你会得到这个错误。

一种可能性是确保开发用户和作业执行用户是同一个用户帐户,但这不是一个好主意。通常您希望您的生产用户帐户与您的开发用户帐户分开。

相反,您应该将 ProtectionLevel 设置为“DontSaveSensitive”。然后密码根本不会与 SSIS 包一起保存。您为连接字符串创建了一个配置文件,但密码也不会保存到配置文件中。如果您希望它包含密码,则必须手动编辑配置文件。但最好的方法是在安排执行 SSIS 包的作业时配置密码。这样可以将密码保存在一个安全的地方,并且它不会随 SSIS 包到处飘荡。

一些有用的链接在这里这里

祝你好运!

于 2013-04-01T16:48:58.940 回答