有没有办法检查表锁定日志?

时间:2014-04-04 08:41:04

标签: sql-server

我发现了一些关于死锁的超时错误,特别是:

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.

这是间歇性的,虽然我知道造成这个问题的原因,但在我花费太多时间和精力之前,我想进行调查和验证。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

您基本上有两个选项:在错误日志中设置跟踪标志1222和examinig信息,或者启动捕获死锁图事件的探查器会话。两者都将提供有关死锁查询及其死锁资源的信息。