Jer*_*emy 13 sql-server ssis sql-server-2005
在SQL Server 2005中,是否可以安排SSIS包运行SQL代理服务帐户以外的其他程序?
我有一个SSIS包,它连接到数据库并运行存储过程.我的标准是我不会在包或包配置中指定用户名/密码,所以我想使用集成身份验证.
问题是默认情况下,作业中的步骤作为SQL代理服务帐户运行,并且我们的服务器组不希望授予该帐户对我的程序包将执行的存储过程的执行权限.所以我们试图找到一种在步骤中指定不同帐户的方法,因此包将在不同的上下文中运行.那可能吗?
小智 40
如果您可以SQL Server Agent通过SQL Server Management Studio 进行访问,则可以使用以下步骤使用图形用户界面创建作业.这些步骤显示如何使用SQL代理服务帐户创建SQL作业以运行SSIS,以及如何创建代理以使用不同的凭据在不同的情况下运行.
转到SQL Server Management Studio.展开SQL Server Agent并右键单击Jobs,然后选择New Job...屏幕截图#1中所示.
默认情况下,提供名称和所有者将是创建作业的帐户,但您可以根据自己的要求进行更改.如果您愿意,可以指定类别并提供说明.参见截图#2.
在Steps部分,单击New...屏幕截图#3中所示.
在"新建作业步骤"对话框中,提供步骤名称.SQL Server Inegration Services Package从类型中选择.此步骤SQL Agent Service Account默认运行.选择包源,File system然后单击省略号浏览到包路径.这将填充Package路径.参见截图#4.如果您不希望在该步骤下执行该步骤SQL Agent Service Account,请参阅步骤#8 - 9以了解如何使用其他帐户.
如果您有一个包的SSIS配置文件(.dtsConfig),请单击Configurations选项卡并添加配置文件,如屏幕截图#5所示.
单击确定,步骤1中有包,如屏幕截图#6所示.同样,您可以创建不同的步骤.
创建作业后,您可以右键单击作业并选择Script Job as --> CREATE To --> New Query Editor Window生成脚本,如屏幕截图#7所示.
要在Management Studio下的不同帐户下运行SSIS步骤,请导航到Security --> right-click on Cedentials --> select New Credential...屏幕截图#8所示.
在New Credential对话框中,提供您希望在SQL作业中执行SSIS步骤的凭据名称,Windows帐户和密码.参见截图#9.将创建凭据,如屏幕截图#10所示.
接下来,我们需要创建一个代理.在Management Studio上,导航到SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy...屏幕截图#11中所示.
在"新建代理帐户"窗口中,提供代理名称,选择新创建的凭据,提供说明并选择SQL Server Integration Services Package,如屏幕截图#12所示.应创建代理帐户,如屏幕截图#13所示.
现在,如果您返回SQL作业中的步骤,您应该在Run as下拉列表中看到新创建的Proxy帐户.参见截图#14.
希望有所帮助.
截图#1:

截图#2:

截图#3:

截图#4:

截图#5:

截图#6:

截图#7:

截图#8:

截图#9:

截图#10:

截图#11:

截图#12:

截图#13:

截图#14:
