--列出最初锁住资源,导致一串其他进程被锁住的起始进程。
if exists(select * from master..sysprocesses
where spid in(
select blocked from master.dbo.sysprocesses))
--判断有进程被锁住。
select spid 进程,status状态,登陆帐号=substring(suser_sname(sid),1,300),
用户机器名称=substring(hostname,1,12),
是否被锁住=convert(char(3),blocked),
数据库的名称=substring(db_name(dbid),1,10),
cmd 命令,
waittype 等待类型
from master.dbo.sysprocesses
--列出锁住别人(在别的进程中blocked字段出现的值),而自己未被锁住。
where spid in(
select blocked from master.dbo.sysprocesses) and blocked=0
else 
print 'No you'