1

我有一个通过导入导出(32 位)工具创建的 SSIS 包。当我通过执行包实用程序手动执行包时,包成功运行,没有任何问题。但是,当我尝试通过 SSMS 中的作业代理运行包时,我不断收到错误消息。我得到的主要错误似乎是:

无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“密钥在指定状态下无效”您可能无权访问此信息。当存在加密错误时会发生此错误。验证正确的密钥是否可用。

我正在使用 SQL Server 2008 R2。

我在一定程度上研究了这个错误,我认为它与包保护级别有关。我觉得我已经尝试了最有意义的配置,但似乎没有一个对我有用。选项是:

  • 使用用户密钥加密敏感数据
  • 不要保存敏感数据
  • 使用密码加密敏感数据
  • 使用用户密钥加密所有数据
  • 用密码加密所有数据
  • 依靠服务器存储和角色进行访问控制

我觉得应该在这里使用最后一个选项(依赖服务器存储...),因为我更喜欢使用 SQL Server 身份验证。我在 SQL Server 导入和导出向导的“选择目标”窗口中使用 SQL Server 身份验证,同样,当我在作业步骤属性的常规选项卡上的 SSMS 中创建作业代理时,我使用相同的用户名和密码。是否有可能我需要向我在 SSMS 中使用的用户添加一些东西 - 即使它在 SSMS 之外工作?

我想知道可能会产生影响的其他事情是在导入和导出工具的“列映射”窗口中选中“删除并重新创建目标表”选项。我在执行 Job Agent 之前使用存储过程来删除表,我觉得 ti 在某个时间点工作 - 这可能与它有关吗?

最让我困惑的是,当我通过“SQL Server Execute Utility Package”工具手动执行它时,它运行没有问题。

如果有帮助,我已经包含了我上面提到的一些窗口的图像。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

0 回答 0