事务进程死锁怎么办

2025-10-31 07:23:52

1、1.使用sqlserver命令查看数据库死锁,重点是了解系统进程表【sysprocesses】,我们把这段sql语句写成SP_WHO_LOCK

 select  0 ,blocked 

from (select * from sysprocesses where  blocked>0 ) a 

where not exists(select * from (select * from sysprocesses where  blocked>0 ) b 

where a.blocked=spid) 

union select spid,blocked from sysprocesses where  blocked>0 

事务进程死锁怎么办

2、按F5执行sp_who_lock,查看具体死锁进程,看看是那个表或者事务存在问题,从举例中可以看到我目前是没有死锁的

事务进程死锁怎么办

3、假如出现了死锁,首先了解是否能直接解决,使用kill命令,先使用sp_who查看是谁造成了进程死锁,通知相关人之后,kill掉,如图所示:

sp_who  找出第spid=55的进程是备份任务,假如它死锁了,

直接使用kill 55来结束进程

事务进程死锁怎么办

4、使用kill命令之后,重新执行sp_who,发现55进程已经解锁不存在了

事务进程死锁怎么办

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢