如果MSSQL出现死锁,会导致系统非常慢,可以使用下面的语句,快速找到死锁:
select 标志='死锁的进程', spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran, status,hostname,program_name,hostprocess,nt_domain,net_address, s1=a.spid,s2=0 from master..sysprocesses a join ( select blocked from master..sysprocesses group by blocked )b on a.spid=b.blocked where a.blocked=0 union all select '|_牺牲品_>', spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran, status,hostname,program_name,hostprocess,nt_domain,net_address, s1=blocked,s2=1 from master..sysprocesses a where blocked<>0
根据得到的数据中的spid,用下面的语句杀掉死锁进程,例如57为spid:
KILL 57;
而下面的语句可以得到哪些语句导致的死锁:
DBCC INPUTBUFFER(57)