MSSQLSERVER中怎样查询引起死锁的sql语句

2024-11-26 19:27:04
推荐回答(2个)
回答1:

当死锁发生后,通过服务端的Trace就可以将死锁信息传到日志。在SQL Server 2000时代,只能通过Trace flag 1204来开启,由于Trace flag 1204并不能提供XML死锁图,在SQL Server 2005以及之后的版本被Trace flag 1222所取代。
为了在服务端针对所有的Session开启Trace flag 1222。可以通过如代码所示。
DBCC TRACEON(1222,-1)

另一种方法是开启Profiler来捕捉,Profiler捕捉到的图示死锁信息内容就更直观了,

回答2:

使用sp_who2命令其中结果里面有一栏BlkBy 就有显示锁死的进程 然后找到该进程即SPID 查看当前的Command