我们有超过1000个平面文件,每个文件包含大约一百万条记录。我们需要将所有这些数据插入到数据库上的单个表中,并且该表不能被分区。我们正在尝试使用SSIS实现并行处理,我们希望通过SSIS运行多个大容量插入进程,以将数据从平面文件同时插入到一个表中。从平面文件插入的顺序也无关紧要。我们有一个带有MULTIPLEFLATFILE连接管理器的SSIS包,它有一个平面文件任务和一个OLE DB目标任务,并选中了'Fast load‘和表锁选项。这样,我们可以看到只有一个SPID用于将数据插入到表中。我们希望至少有5个SPID/进程同时/并行插入到表中。请在这方面帮助我。
谢谢
发布于 2013-10-01 23:16:44
要获得最高的插入性能,您需要在此处使用OLE DB目标,并指定Fast Load选项(在下拉列表中),然后选中Table Lock。这将以最快的速度将数据放入表中。但是,您现在将被迫进行串行加载。
要运行并行加载,您需要将每个线程加载到其自己的表中,然后在最后让一个执行sql任务将所有数据合并到最终目的地。本质上,合并分区背后的逻辑是相同的,只是您将移动数据两次,而不是简单的元数据操作。
https://stackoverflow.com/questions/19075457
复制相似问题