事务自动转到Rollback

时间:2014-09-04 19:45:43

标签: sql sql-server transactions ado.net batch-processing

我们通过ADO.NET Asynchronous BEGINEXecuteNonQuery运行一个长跑SP,SP运行了12个小时,这个sp执行从一个表到另一个表的批量插入约6,00,00,000个记录。

当我检查状态时执行批量插入时,查询进入暂停模式一段时间(我认为它正在等待IO资源)并返回运行模式,在等待另一个15分钟后返回暂停状态一段时间,如果我检查状态,我看到SPID已经" RollBack'不处于RUNNING状态。我还没有取消交易并且不确定状态显示为什么有RollBack,不确定回滚的原因是否为SPID。

以前有人面对同样的问题吗?如何处理这种情况?

1 个答案:

答案 0 :(得分:2)

你的SP可能会返回一个可能告诉你出错的错误。

使用BeginExecuteNonQuery(AsyncCallback, Object)检查查询结果:

SqlCommand.BeginExecuteNonQuery Method

您还可以分析服务器日志:

View Error Logs