没有约定,在DFT(数据流任务)中仅需要1个源和1个目标。
DFT中可以有多个源组件和目标组件。但是,如果单个DFT中的源到目标组件过多,则可能会耗尽内存。在预执行阶段,SSIS必须决定要为各个S2D组件分配的内存,如果内存消耗过高,则服务器可能无法为所有组件授予足够的内存。这可能会导致长时间的等待。
但是,有一个称为EngineThreadsDFT 的属性,该属性定义数据流引擎可以创建并并行运行多少个线程。根据MSDN:
要了解此属性的工作原理,请考虑具有三个数据流任务的示例包。每个数据流任务都包含十个源到目标执行树。如果在每个数据流任务上将EngineThreads设置为10,则所有30个执行树都可以同时运行。但是,一般规则是并行运行线程的数量不要超过可用处理器的数量。由于线程之间频繁进行上下文切换,因此运行的线程数多于可用处理器的数量会影响性能。
因此,最好创建单独的数据流任务并执行操作。
注意:如果要从多个来源获取数据,则可以在单个数据流任务中进行处理。