使用非Windows帐户从sql server代理作业运行SSIS包

时间:2011-06-28 21:56:26

标签: sql-server-2008 ssis

是否可以使用不是Windows帐户(sql server帐户)的代理帐户从sql server代理作业运行SSIS包。

我创建了一个SSIS包,该包使用特定的sql server帐户运行,以将数据从一个服务器复制到另一个服务器。这可以通过在运行包之前键入sql server帐户的密码来每次完成。尝试安排程序包在代理帐户下运行时,它只接受Windows(AD)凭据,并且无法使用sql server帐户创建代理帐户!我还有其他解决方法吗?

2 个答案:

答案 0 :(得分:1)

代理帐户必须是Windows帐户...但代理不是完成您要执行的操作的唯一方法。

请查看以下文章中“解决方案”标签下的其他方法: http://support.microsoft.com/kb/918760

即。将凭证存储为SSIS包/模板的一部分或将包移动到数据库中。

答案 1 :(得分:1)

就像lazyDBA所说 - 代理帐户必须是真正的Windows帐户。

但是要详细说明这个,这个代理帐户只不过是运行SSIS进程来执行你的包的帐户。

这不包括您已为其指定用户名和密码(SQL Server登录)的程序包中的数据源。理论上任何用户都可以运行这些软件包,但是他们必须能够读取在SSIS文件中加密的用户名和密码(假设您已选择使用加密的SaveSensitiveData)。

你可以做什么(也许应该做) - 将SaveSensitiveData更改为EncryptSensitiveWithPassword,然后在代理作业中设置此密码,这样就不必每次都输入密码。然后,哪个代理/ Windows帐户执行此SSIS包无关紧要。您仍将使用SSIS包中定义的SQL Server用户名/密码。

参考:http://msdn.microsoft.com/en-us/library/ms141747.aspx