我想知道我们是否可以使用c#代码限制SSIS Catalog bu中同一个ssis包同时运行的实例数。我的要求是,我想在异步执行的同时只运行4个testPackage.dtsx实例。我尝试在C#中进行线程化,但是由于SSIS包的异步执行,同时执行没有限制导致系统挂起。请建议。
答案 0 :(得分:0)
您可以更改执行参数以使程序包同步运行:
EXEC [SSISDB].[catalog].[set_execution_parameter_value]
@execution_id -- your execution ID
@object_type=50, -- 50 is "execution parameter"
@parameter_name=N'SYNCHRONIZED',
@parameter_value= 1; -- synchronized execution
这里有关这些参数的信息: http://www.ssistalk.com/2012/07/24/quick-tip-run-ssis-2012-packages-synchronously-and-other-execution-options/
然后只需通过C#threading或Task.Run来管理你的asnyc调用。