我在生产环境中的应用程序的2页上收到此错误的频率非常高,但不一致。我只是在下面的错误屏幕截图。SQL Server 2005:事务死锁
事务(进程ID XX)在锁定时死锁了|通信缓冲区资源与另一个进程并且被选为死锁受害者。重新运行交易。
解决这个错误的方法是什么。该数据库服务器是SQL Server 2005.
我在生产环境中的应用程序的2页上收到此错误的频率非常高,但不一致。我只是在下面的错误屏幕截图。SQL Server 2005:事务死锁
事务(进程ID XX)在锁定时死锁了|通信缓冲区资源与另一个进程并且被选为死锁受害者。重新运行交易。
解决这个错误的方法是什么。该数据库服务器是SQL Server 2005.
这是由布拉德麦奇的article是一个很好的开始。
的错误信息提示你可以做的,让程序重试事务!
很大程度上取决于交易是如何“原子”的!也就是说,如果你死锁了,它的某些其他进程已经成功更新了你感兴趣的行。在异常情况下将更新应用到行是否仍然有意义?
最起码有一个更好的错误信息呈现给用户(“其他用户更改您试图更新XXXX,请再检查新值和尝试。)
你需要运行一个死锁我们需要确定两个有问题的进程,然后查看两页中的代码,看看哪些SQL命令正在发布以及发生多少次。的时候,我发现简单地回顾一下正在运行的SQL代码并知道它运行的频率会很快找出冲突。修复它有时需要更长的时间...
你不只是用完全相同的答案回答另一个问题?! :-) – 2009-01-15 15:09:06
那是在九月份,你在说这个吗? http://stackoverflow.com/questions/52566/mssql-server-2000-debugging-deadlocks#52594 – SQLMenace 2009-01-15 15:30:37