在哪里将敏感加密密码存储在SQL Server代理作业中?

时间:2008-11-05 20:40:52

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

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

问题是每当我在一个步骤中设置作业时,无法输入此密码。当我单击配置选项卡时,我会看到一个密码的弹出对话框。这使它保存得当,但这真的是放置它的正确位置。这看起来很不寻常,如果我做出某些改变,我会继续遇到似乎重置的问题。

有谁知道更好的地方输入更稳定的密码?

谢谢,

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您需要在作业上设置密码。

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