SSIS有时会插入具有相同源数据集的较少记录

时间:2010-08-26 20:37:40

标签: sql visual-studio-2008 ssis recordset

我有一张包含63,506条记录的表格。在运行相当复杂的数据流之后,流向SQL Server目标的数字始终与我的初始记录计数匹配,但有时,并非所有记录都插入到我的目标表中。流程总是“成功”完成,但它只有一半的时间才真正成功。数据源肯定没有变化,所以我不知道是什么导致了不一致。如何解决这个问题的任何帮助将不胜感激。

谢谢, 杰森

2 个答案:

答案 0 :(得分:1)

我已经看到这种情况多次出现在SQL Server目的地,有几次出现在OLE DB目的地。这通常发生在我向表格提交大量行(> 10亿行)时。为了审计数据以确保一切正常,我添加了一个RowCount数据流转换来记录导入的记录,并在数据流之后执行存储过程,比较插入到变量的实际记录数。在SQL Server 2008 CTP和RTM中发生了这种情况,但我还没有在R2中发生这种情况。

我建议放弃OLE DB目标的SQL Server目标。您的性能可能会下降50%,但您可以从自己的计算机调试程序包,而无需登录到SQL Server并避免此错误。我怀疑内存限制出了问题,SQL Server Destination似乎比OLE DB目标更加占用内存。

答案 1 :(得分:0)

就我而言,我根据建议here从OLE DB切换到ADO.NET,但仍然无法解决问题。

我最终将平面文件分成几部分,然后分别导入每个部分。令人惊讶的是,它并行运行而没有问题。