【发布时间】:2014-10-29 16:40:49
【问题描述】:
我们正在通过 ADO.NET 异步 BEGINEXecuteNonQuery 运行一个 Long Running SP,SP 运行了 12 小时,这个 sp 执行从一个表到另一个表的批量插入大约 6,00,00,000 条记录。
在我检查状态时执行批量插入时,查询进入暂停模式一段时间(我认为它正在等待 IO 资源)并返回运行模式,再等待 15 分钟后返回暂停一段时间,如果我检查状态,我看到 SPID 的“回滚”未处于 RUNNING 状态。我没有取消事务,也不确定为什么显示的状态有回滚,不确定回滚状态的原因是 SPID。
以前有人遇到过同样的问题吗?这种情况如何处理?
【问题讨论】:
-
DBCC INPUTBUFFER(spid) 将告诉您从客户端发送到 SQL Server 的最后一条消息。您可以尝试在带有输出消息的 SSMS 中运行 SP 吗?
标签: sql sql-server transactions ado.net batch-processing