c# - 远程运行 SSIS 包 - 它们在什么帐户下运行?

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

我目前正在 .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/

相关文章:

c# - JavaScript 中必需的文本框

c# - 需要 javascript 验证下拉列表

c# - 任务<T>保留启动参数

.net - ILDasm、mscorlib 和 System.Runtime 反编译差异取决于目录

Excel工作表的C#自动调整方法

sql-server - 什么是 DBBINDSTATUS_UNSUPPORTEDCONVERSION

c# - 如何将对象数组转换为泛型类型数组

.net - 在没有 .NET Framework 的情况下运行基于 .net 的应用程序

sql-server - 如何在 SSIS 中使用 Sharepoint REST API

sql-server - 编辑 SSIS 脚本任务/组件需要 15 秒。打开