两个同时回滚死锁表

时间:2013-06-27 09:58:14

标签: sql-server sql-server-2008 sql-server-2008-r2

在我们的MS SQL Server 2008 R2上,意外地同一个存储过程一次运行两次。它们是从同一个SQL Server Management Studio客户端运行的,我试图取消它们。 45分钟后,这两个过程都没有取消。我在某处读到了这将有助于关闭SSMS中的查询窗口,所以我做了。但是,即使已经过了将近20个小时,存储过程应该写入的表仍然被锁定。我想有一个僵局。我在启动存储过程后点击取消秒。

存储过程正在读取的表未锁定。存储过程在CLR中。它从表中读取,操作数据然后使用SqlBulkCopy插入到其他三个表中。

可以非常轻松地重新创建SP写入的表中的数据。但是由于锁定,我既不能删除也不能截断它们。我也尝试过没有结果的KILL SPID。

我一直在考虑重新启动服务器,但我认为由于SQL Server数据完整性而无济于事。

我真的想要一些关于如何释放锁的输入。一些拥有大量用户的网站依赖于数据库服务器,因此非常感谢不需要重新启动的解决方案。

0 个答案:

没有答案