从存储的proc中异步启动SSIS

时间:2010-04-27 19:34:44

标签: sql tsql ssis

我需要通过存储过程启动SSIS包。我选择使用'exec dtexec'代替启动作业来启动包,因此我可以在包中设置变量。我的问题是我需要包异步运行,以便存储过程将返回而不是挂起或超时。

实现这一目标的最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

如果您希望使用变量进行异步操作,我会构建一个表来保存您想要传入的变量,并且代理作业会使用它们启动SSIS。然后,您可以使用sp_start_job异步启动该作业。包可以从表中读取所需的变量,或者作业可以读取它们以构造适当的启动命令。该程序包甚至可以更新表以指示返回BizTalk的结果。

答案 1 :(得分:0)

使用存储过程启动调用SSIS包的SQL Server代理作业...

你不能直接从存储过程调用(这不是一个好主意),然后让存储过程终止。您必须将存储的proc执行与SSIS执行分离

在SQL Server代理(GUI)和命令行(使用/Set

中设置变量很简单