如何快速发现和处理sqlserver数据库的死锁

首先在sqlserver的查询分析器中查看特定数据库被阻塞的进程

select * from sysprocesses where dbid in (select dbid from sysdatabases where name='www_rztong_com_cn') and blocked>0 

然后查看阻塞超时设置

SELECT @@LOCK_TIMEOUT

再次根据阻塞的进程ID查看阻塞语句

dbcc inputbuffer(108)

上面的108就是阻塞进程的ID。根据发现的语句可以用来分析是程序代码的哪部分造成了这个死锁,从而得以解决。

如果事情紧急,可以立即杀死阻塞进程,从而终结死锁的情况

kill 108


在实际操作中可能会出现kill 108执行不了的情况,这个时候处理就比较麻烦,需要是数据库处于独占情况下才能处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值