我目前正在 .NET 4.0 中构建一个应用程序,它将使用 SSIS 2008R2 包来完成它的工作。这些包位于单独的 SQL Server 上。 SQL 服务器有一个帐户代理,该代理具有包执行所需的所有权限(调用报告服务、访问磁盘等)。
我的问题是:从 C# 运行这些包的最佳方式是什么?
我阅读了有关使用 SQL Agent 通过作业运行包的信息,但我担心的是 - 作业和包将使用什么帐户?它是运行应用程序的帐户还是我可以使用我在 SQL Server 中拥有的代理帐户?我该如何配置?
提前致谢!
最佳答案
您可以配置在 SQL Server 代理中运行每个作业步骤的用户。这里一般使用代理用户。
如果您无论如何都需要访问 SQL Server 数据库,启 Action 业的一种简单方法是调用 SQL Server Agent system stored procedures .但请注意,通过 dbo.sp_start_job
启 Action 业是异步的:它只是启 Action 业然后返回。您将不得不轮询其他方法来检查作业状态或结果。
您用来连接数据库的数据库用户(或者您的本地用户,如果您使用 SQL Server 的集成登录)必须具有调用存储过程的权限。
关于c# - 远程运行 SSIS 包 - 它们在什么帐户下运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18401369/