SSIS - 通过并行处理将多个文本文件中的数据加载到单个表中

时间:2013-09-29 07:13:21

标签: sql-server ssis sql-server-2008-r2 parallel-processing

我们拥有超过1000个平面文件,每个平面文件有大约一百万条记录。我们需要将所有这些数据插入到数据库的单个表中,并且无法对表进行分区。我们正在尝试使用SSIS实现并行处理,我们希望使用SSIS运行多个批量插入进程,以便将平面文件中的数据同时插入到一个表中。平面文件中的插入顺序也无关紧要。 我们有一个带有MULTIPLEFLATFILE连接管理器的SSIS包,其中包含一个flatfile任务和一个OLE DB目标任务,其中包含'快速加载'和表锁选项已选中。有了这个,我们看到只有一个SPID用于将数据插入表中。我们希望至少有5个SPID /进程同时/并行插入表中。请帮助我。

由于

1 个答案:

答案 0 :(得分:0)

要获得插入的最大性能,您需要使用OLE DB Destination并在那里指定Fast Load选项(在下拉列表中),然后选中Table Lock。这将使数据最快地进入表中。但是,您现在将被迫进入串行加载。

要使并行加载运行,您需要将每个线程加载到其自己的表中,然后在最后执行sql任务将所有数据合并到最终目标中。除了简单的元数据操作之外,合并分区的基本相同的逻辑,你将移动数据两次。