如何以一种火灾和忘记的方式在c#中的sql代理中解雇作业

时间:2012-09-25 21:26:18

标签: c# sql-server vb.net ssis service-broker

我们有一个ssis pkg需要20分钟才能完成。 (生成xl报告)。用户已经要求通过params控制这个pkg的能力,所以我们有winforms / c#gui运行pkg。 (直接来自sql server。我们基本上调用一个存储过程来启动一个运行ssis pkg的sql作业)。到现在为止还挺好。现在,用户希望在提交报告请求后注销,因为等待20分钟没有意义。 (我们使用citrix vdi。用户登录到特定的vdi,具体取决于他们想要使用的应用程序,执行他们的任务和注销)。我们90%在那里,只是为了这个功能服务经纪人似乎是一个矫枉过正。我查看了我们的dba,到目前为止我们从未使用过服务经纪人。即使用户关闭winforms应用程序并注销,我仍然可以运行ssis pkg。 (基本上sql连接丢失但是sql server上的被解雇的ssis pkg必须继续运行完成)。感谢

1 个答案:

答案 0 :(得分:1)

我们可以这样做,在作业调用过程中添加包,让它运行

CREATE proc startjob
AS
begin
EXEC dbo.sp_start_job N'Weekly Sales Data Backup'
END