SSIS数据流查找失败但目标组件仍写入行

时间:2011-06-27 17:23:54

标签: ssis

我在SQL Server 2008上使用SSIS。我有一个带有查找组件的数据流,其中 no matching entries 选项指定为“Fail component”。我正在查看先前执行包的日志,我可以从数据流中看到以下错误消息:

Row yielded no match during lookup.  

以后的错误消息表明这是来自我的查找组件。但是之后我可以看到一条信息消息(来自相同的数据流和相同的执行),说目标组件写了几千行:

"component "OLE_DST ..." (578)" wrote 9924 rows.  

在另一个环境上执行导致相同的“行在查找期间没有匹配”错误,但随后将零行写入目标。

SSIS包在两种环境中完全相同。数据略有不同,但具有相同的特征 - 源行,少数没有匹配的查找条目。

是否允许这种行为?在查找失败之前,数据流是否可以开始写入任意数量的行,然后停止写入行?

1 个答案:

答案 0 :(得分:2)

汤姆,

是的,这种行为似乎是合情合理的。但是我认为(最好检查一下)它可能会受到FastLoadMaxInsertCommitSize的影响,因为该属性确定在提交之前插入了多少行。

了解详情:Default value for OLE DB Destination FastLoadMaxInsertCommitSize in SQL Server 2008

欢呼声

JT