2010-11-08 97 views
0

我们有一个复杂的SSIS作业,并且在每个事务中,我们必须在SQL服务器中插入大约30K +个记录。该软件包正在使用带启动和回滚语句的本地事务。我对这个事务回滚行为感到困惑,因为它在回滚时不清除表中的2-3条记录。当我发出回滚时,它应该清除表中所有插入的记录,但这不会发生,而是在表中留下2-3条记录,这是错误的。另外,业务需求是要么在一个事务中创建所有记录,要么回滚所有创建的记录,我不能执行部分提交。我希望这能够清楚了解发生了什么。SQL-Server事务回滚

有什么想法?

+0

也许comitting一个新的事务为每个在插入过程中发生的刀片是最安全的方法,而只有rollbacking如果有错误,则@@ ERROR什么的阅读一样,我不我记不起来了。 – 2010-11-08 17:30:05

+0

是的。你真的不知道你有什么困惑。投票结束。没有问题。 – TomTom 2010-11-08 17:30:22

+0

他很清楚这个问题。他想知道为什么回滚事务无法完全回滚。 – 2010-11-09 21:02:32

回答

1

我切换到MSDTC来处理SSIS中的这些事务。对我来说,听起来像使用开始和提交事务语义的工作,我猜部分回滚的原因。切换到MSDTC后,此问题已解决。

非常感谢