SSIS 数据流查找失败,但目标组件仍然写入行
我在 SQL Server 2008 上使用 SSIS。我有一个带有查找组件的数据流,其中将无匹配条目选项指定为“失败组件”。我正在查看包的先前执行日志,并且可以从数据流中看到以下错误消息:
Row yielded no match during lookup.
后来的错误消息表明这是来自我的查找组件。然而,之后我可以看到一条信息消息(来自相同的数据流和相同的执行),指出目标组件写入了数千行:
"component "OLE_DST ..." (578)" wrote 9924 rows.
在另一个环境上执行导致相同的“查找期间行产生不匹配”错误,但随后将零行写入目标。
SSIS 包在两种环境中完全相同。数据略有不同,但具有相同的特征 - 源行、少量且没有匹配的查找条目。
这种行为是否被允许?数据流是否可以在查找失败之前开始写入任意数量的行,然后停止写入行?
I'm using SSIS on SQL Server 2008. I have a data flow with a lookup component with the no matching entries option specified to "Fail component". I'm looking at the log of a previous execution of the package and I can see the following error message from the data flow:
Row yielded no match during lookup.
Later error messages indicate this is from my lookup component. However after that I can see an information message (from the same data flow and the same execution) saying that the destination component wrote several thousand rows:
"component "OLE_DST ..." (578)" wrote 9924 rows.
An execution on another environment resulted in the same "Row yielded no match during lookup" error but then wrote zero rows to the destination.
The SSIS package is exactly the same in both environments. The data was slightly different but had the same characteristics - source rows, a small number with no matching lookup entry.
Is this behaviour allowed? Can the data flow begin writing an arbitrary number of rows before a lookup fails and then stop writing rows?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
汤姆,
是的,这种行为是合理的。不过我认为(最好检查一下)它可能会受到 FastLoadMaxInsertCommitSize 的影响,因为该属性决定在提交之前插入多少行。
了解更多:SQL Server 2008 中 OLE DB 目标 FastLoadMaxInsertCommitSize 的默认值
干杯
JT
Tom,
Yeah, this behaviour is plausible. However I think (best to check this) it can be affected by FastLoadMaxInsertCommitSize because that property determines how many rows are inserted before being committed.
Read more: Default value for OLE DB Destination FastLoadMaxInsertCommitSize in SQL Server 2008
cheers
JT