SSIS中的执行包任务中的ExecuteOutOfProcess属性有何意义?我需要通过传递不同的参数在for循环中执行子包,并希望启动子包的几个实例并行执行..
在此处找到解决方案(根本不使用执行包任务) http://www.rafael-salas.com/2010/07/ssis-how-to-run-set-of-packages.html
答案 0 :(得分:1)
如果没有优先约束停止并行运行的包,并且包中的MaxConcurrentExecutables
属性为-1(或足够大),则执行包任务将并行运行。我认为以交互方式运行会很明显。
我在猜测' ExecuteOutOfProcess'强制包在新的DTEXEC.EXE进程中运行。这与它是否并行运行无关。
我们目前有一个专门用于并行运行进程的主包,并且没有任何执行包任务都有ExecuteOutOfProcess
以下是更多信息:
http://www.jamesserra.com/archive/2011/11/parallel-execution-in-ssis/
http://consultingblogs.emc.com/jamiethomson/archive/2007/08/27/1414.aspx
答案 1 :(得分:1)
要获得一些开始的想法,你可以看看这些文章。
答案 2 :(得分:1)
我有一个非常强大的解决方案,可以并行运行单个SSIS包。请阅读文章:https://www.mssqltips.com/sqlservertip/4329/performance-improvements-to-process-a-large-number-of-files-with-ssis/
此解决方案与我找到的所有其他解决方案不同,原因如下:
这些功能提供了一个更简单的解决方案(1个包维护),可以轻松扩展(调整1个值),同时提供真正的并行处理,性能提升了数量级。看看吧。
基思