1. 首页>
  2. 技术文章>
  3. mssql解决死锁

mssql解决死锁

1/12/18 8:45:02 PM 浏览 1098 评论 0

mssql

如果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)


网友讨论