使用SSIS 2005加载非常大的表

时间:2011-08-17 15:19:48

标签: ssis load

我有一个问题。我正在加载一个非常大的表,其中包含1.5亿条记录的现有数据,这些数据将继续增加,每天增加100万条记录。几天后ETL开始失败即使在跑了24小时之后。在DFT中,我们有源查询提取100万条记录,这些记录是针对具有1.5亿条记录的目的地表进行查找,以检查新记录。它失败了,因为LOOKUP无法保存1.5亿条记录的数据。我已经尝试将LOOKUP更改为Merge Join但没有成功。您能否建议替代设计成功加载大表中的数据。而且,我无法减少目标表的大小。我已经在所有必需的列上有索引。希望我能解释这个场景。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用表分区来导入大量数据。看看here的例子。另一个可能有用的link。另外,请检查msdn以获取有关创建和维护分区表的更多信息。

答案 1 :(得分:0)

将旅程分成两部分。

创建一个新的数据流任务(或单独的包),以便在靠近目标数据库的环境中“按原样”暂存源表

改变您现有的数据流任务,以便在您的分阶段表和目标表中进行查询,以便仅提取新的(和已更改的?)记录,并在SSIS中相应地处理这些记录。这应该消除了昂贵的查找需要执行每个记录的数据库往返

的需要