SSIS儿童套餐不能同时开始

时间:2016-03-11 23:32:56

标签: tsql visual-studio-2012 sql-server-2012 sql-server-data-tools ssis-2012

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

我遇到的问题是,父包应该立即启动所有子包,而不是所有的子包都启动。这就好像一次可以启动多少包(看起来大约10或11)是有限制的。一旦达到此限制,其余部分就不会启动。但是当一个包完成后,另一个包立即启动。

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

1 个答案:

答案 0 :(得分:0)

通过查看父包上的属性NSScanner可以解决问题。在我的父包中,此属性的默认值为MaxConcurrentExecutables,这意味着它会根据PC上的核心数加上2来计算并行运行的任务数(在本例中为子包)。 / p>

在我的情况下,我的笔记本电脑上有8个内核,另外还有2个同时运行10个软件包的内核。您可以通过在其位置放置更高的正数来覆盖此值,以允许更多的子项运行。投入20后,所有任务立即开始。

有关此内容的更多信息,请访问:

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