2014-04-04 86 views
0

我看到一些超时错误对于死锁,具体是:有没有办法检查表锁定日志?

Transaction (Process ID 161) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction. 

这是间歇性的,而我有一个想法是什么引起的问题,我想调查核实前,我把太多时间和努力。

有没有办法查看围绕这些类型的错误的日志,以查看事务正在运行的查询和/或当时哪些表被锁定?

由于它是间歇性的,我很难在行为中发现问题。

回答

0

死锁总是间歇性和不可预测的。

默认情况下,SQL Server不保留有关可能有助于调查其原因的死锁的历史信息。如果你想收集这些信息,你必须事先做好准备。

基本上有两种选择:在错误日志中设置跟踪标志1222和检查信息,或启动捕获死锁图形事件的分析器会话。两者都将提供关于死锁查询的信息以及它们被锁定的资源。

相关问题