【问题标题】:Where do I store sensitive encrypted password in an SQL Server agent job?在 SQL Server 代理作业中,我应该在哪里存储敏感的加密密码?
【发布时间】:2008-11-05 20:40:51
【问题描述】:

我更喜欢将我们的 SSIS 包保存在服务器上的解决方案中,而不是保存在 sql 中。默认情况下,敏感数据使用用户密钥加密。由于 sql server 代理使用服务帐户来运行作业,因此我们必须将此加密方法更改为其他方式。我喜欢用密码加密。

问题是每当我在一个步骤中设置作业时,都无法输入此密码。当我单击配置选项卡时,我会弹出一个密码对话框。这样可以使其正确存储,但这真的是放置它的正确位置。这似乎很不寻常,而且我一直遇到一些问题,如果我进行某些更改,它似乎会自行重置。

有没有人知道更好的地方输入这个密码更稳定?

谢谢,

【问题讨论】:

    标签: sql-server ssis sql-server-agent


    【解决方案1】:

    如果您可以使用 Windows 身份验证并避免 SQL Server 身份验证并确保您的服务帐户可以使用执行包所需的权限,那么您根本不需要在包中设置密码。

    除此之外,您应该已经使用包配置使用配置文件覆盖连接字符串,以便您的包是可移植的,然后密码不需要在 dtsx 中。

    【讨论】:

    • 我认为您的段落解决方案是一个很好的解决方案,但我不相信上面的部分会起作用。与其说是权利问题,不如说是用户密钥问题。
    • 我的意思是 Windows 身份验证...当我构建我的包时,我没有输入任何密码。
    • 是的。当您使用 Windows 身份验证时,您可以使用“dontsavesensitive”.. 因为没有什么是敏感的。包中没有密码,也不需要密码。如果您正在处理不支持 Windows 身份验证的系统,则无法这样做。
    【解决方案2】:

    在本地项目解决方案中部署包和存储包的方式可能不同。您可以在本地保存包时使用密码保存敏感数据,并在部署包时“依靠服务器存储和角色进行访问控制”。虽然数据不会以加密格式存储在 msdb 数据库中,但您可以通过管理预先存在的数据库角色来限制对密码信息的访问。

    【讨论】:

      【解决方案3】:

      您需要在您的工作上设置密码。

      转到您的工作属性 > 在您的步骤上单击两次 > 在“常规”选项卡中输入您的登录名和密码,而不是在“配置”选项卡中输入您的密码(您在 SSIS 中输入的密码)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-03
        • 2012-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-04
        • 2011-08-02
        相关资源
        最近更新 更多