【问题标题】:SSRS Connection Manager for 2 separate domain failing when added to SQL Job添加到 SQL 作业时,用于 2 个单独域的 SSRS 连接管理器失败
【发布时间】:2026-01-31 12:00:02
【问题描述】:

我正在为一个域到另一个域的 SSIS 连接管理器使用 SQL 身份验证。在 Visual Studio 中,测试时连接正常,但密码未保存。在 VS 中运行包是可以的,但是在使用包创建 SQL 作业时,它无法运行并出现错误

“描述:无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“密钥在指定状态下无效。

请帮忙。谢谢。

【问题讨论】:

    标签: ssis sql-job


    【解决方案1】:

    这样做的错误方法是将您的连接字符串与用户名和密码放在 Expressions 属性的连接字符串表达式中。然后将 ProtectionLevel 更改为 Dont [sic] Save Sensitive。

    虽然这可行,但它会将您的密码以纯文本形式保留在 dtsx 文件中。

    我认为一种正确的方法是在 SQL Server 代理的“数据源”选项卡上的“新作业”步骤窗口中设置连接字符串的密码。

    另一种方法是将保护级别更改为使用密码保存,然后在作业步骤的配置选项卡中输入密码。不幸的是,我不再使用 SSIS,也没有测试过这两种方法。

    https://docs.microsoft.com/en-us/sql/ssms/agent/job-step-properties-new-job-step-general-page?view=sql-server-2017

    MS Forum

    【讨论】:

    • 现在 SSIS 的 UserName、Instance、Password 和 Server 等属性很少,所以所有这些都可以在 SQL Job 中配置
    • 当你使用文件系统作为包时,这个选项是不启用的。
    • 最终不得不在数据源选项卡中使用连接字符串。不是我想走的路线,而是尝试了许多其他事情但没有成功。谢谢 HF。