远程运行SSIS包 - 它们在哪个帐户下运行?

时间:2013-08-23 11:08:34

标签: c# .net ssis sql-server-2008-r2

我目前正在.NET 4.0中构建一个应用程序,它将使用SSIS 2008R2程序包来完成它的工作。这些包位于单独的SQL Server上。 SQL Server有一个帐户代理,它具有执行包所需的所有权限(调用Reporting Services,访问磁盘等)。

我的问题是:从C#运行这些软件包的最佳方法是什么?

我读过有关使用SQL Agent通过作业运行程序包的问题,​​但我关心的是 - 作业和程序包将使用哪个帐户?它是运行应用程序的帐户还是我可以使用SQL Server中的代理帐户?我该如何配置?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以在SQL Server代理中为用户配置每个作业步骤。在这里使用代理用户很常见。

无论如何,只要您需要SQL Server数据库访问,就可以通过调用SQL Server Agent system stored procedures来轻松启动作业。但请注意,通过dbo.sp_start_job启动作业是异步的:它只是启动作业然后返回。您必须轮询其他方法以检查作业状态或结果。

您用来连接数据库的数据库用户(或者您使用集成登录到SQL Server时的本地用户)必须具有调用存储过程的权限。