关于SQLServer死锁的诊断和定位

原创于2008年06月18日,2009年10月18日迁移至此。


关于 SQLServer 死锁的诊断和定位



SQLServer 中经常会发生死锁情况,必须连接到企业管理 器— > 管理— > 当前活动— > / 进程 ID 去查找相关死锁进程和定位死锁的原因。
ITPUB个人空间4eD!w!`JD &h{X!tH{6517

通过查询分析器也要经过多个系统表 (sysprocesses,sysobjects ) 和系统存储过程 (sp_who,sp_who2,sp_lock ) ,而且不一定能够直接定位到。

本存储过程参考 sp_lock_check sysprocesses 系统表,同时利用了 DBCC 命令,直接将死锁和造成死锁的进程和相关语句列出,以方便分析和定位。
ITPUB个人空间&g5yR P5Bt~ ITPUB个人空间yv?wpH7B

Create procedure sp_check_deadlock

as

set nocount on

/*

selectITPUB个人空间6lE|*`f4`/0jE
spid
被锁进程 ID,

你可能感兴趣的:(sqlserver)