Sql server 2008 SSIS增量加载错误处理

Sql server 2008 SSIS增量加载错误处理,sql-server-2008,ssis,etl,Sql Server 2008,Ssis,Etl,我有SSIS包将事实表提取到暂存表中。我有一个控制表,其中包含每个表的最后提取日期。因此,包提取行,其中>控制表日期。我遇到的问题是,我想将有错误的行重定向到包的数据流任务中的错误文件。如果我这样做,包将不会失败(因此我不能回滚),并且一些行实际上可能会通过,如果我继续执行该过程,最终将到达我的事实表。现在,如果我更新了控制表,那么下次运行包时,我将错过有错误的行。如果我没有用日期更新控制表,我将重新提取经过的行。这方面的最佳实践是什么?在错误分支上添加行计数转换如何?听起来像是在SSIS中使用

我有SSIS包将事实表提取到暂存表中。我有一个控制表,其中包含每个表的最后提取日期。因此,包提取行,其中>控制表日期。我遇到的问题是,我想将有错误的行重定向到包的数据流任务中的错误文件。如果我这样做,包将不会失败(因此我不能回滚),并且一些行实际上可能会通过,如果我继续执行该过程,最终将到达我的事实表。现在,如果我更新了控制表,那么下次运行包时,我将错过有错误的行。如果我没有用日期更新控制表,我将重新提取经过的行。这方面的最佳实践是什么?

在错误分支上添加行计数转换如何?听起来像是在SSIS中使用事务选项,所以将数据流放在序列容器中,并在发布数据流时,计算行计数变量的值。如果大于零,则回滚/中止处理。

谢谢您的回复。实际上,使用行计数转换是我的想法。但是,在SSI中使用重定向错误行时,不能使用事务。我想如果我决定回滚,我需要截断staging表,这样就不会有记录进入我的事实表。如果我决定继续使用好的记录,我需要确保在下一次运行包时首先从事实表中删除,这样我就不会重新插入那些已经插入的记录。