SSIS Child 包未同时启动

SSIS Child Packages not starting at the same time

我在 SSDT 2012 中有一个数据库项目,其中包含一个使用包部署模型的 SSIS 项目。该项目的目标是一次加载大量信息,如果一个包完成这些信息通常会花费太多时间。所以我把它分成 15 children,每个人在不同的部分做自己的工作,将数据加载到各种 sql 表中。因此,在这个项目中有一个 parent 包和 15 个 child 包。由于正在加载的数据类型,我必须使用脚本任务将其全部插入。每个 child 包都是相同的,只是在 children 之间划分数据的参数之间有所不同。每个 child 包都通过文件系统使用外部引用执行。

我遇到的问题是 parent 包应该同时启动所有 child 包,而不是所有 children 都在启动。好像一次可以启动多少个包是有限制的(看起来大约 10 或 11)。一旦达到此限制,其余的就不会启动。但是当一个包完成时,另一个包立即开始。

是否有一个 属性 我想念的限制包裹如何同时 运行 ?根据其他人能够同时 运行 的情况,我似乎缺少某些东西。我在某处读到内存可能是一个因素,但是当我查看任务管理器时,我没有看到任何超过 15% 的内存使用。

问题已通过查看 parent 包上的 属性 MaxConcurrentExecutables 解决。在我的 parent 包中,这个 属性 有一个默认值 -1,这意味着它计算 运行 并行的任务数量(在本例中,child 包)基于您 PC 上的核心数加 2。

就我而言,我的笔记本电脑上有 8 个内核,加上数字 2,这让我同时拥有 10 个包 运行ning。您可以通过在其位置放置一个更高的正数来覆盖此值,以允许更多 children 到 运行。投入20后,所有任务立即开始。

可以在此处找到有关此的更多信息:

https://andrewbutenko.wordpress.com/2012/02/15/ssis-package-maxconcurrentexecutables/