Sqlserver表被锁解决办法,表无法被查询

1.问题现象

我们在系统上线的时候,功能测试这些都是好的,刚开始应用也是好的,但是突然有一天,某个功能就不行了,然后怎么排查也无法解决,但是重启数据库又可以解决这个问题,但是过了一段时间又会有这个情况。

2.问题分析

我们从开发的角度来查看这个问题,首先排查测试机的同样功能没有问题,但是正式系统有问题,然后调试模式下,没有发现这个问题,那么首先排查该功能代码问题。那么从配置和系统的角度去查看,同样的配置,一个好一个不好,排除配置问题,那么只剩一个系统问题,那么从现象上可以发现特殊点,貌似不是所有功能不行,只是和某张表有关的所有功能都不行,从数据库工具直接查也无法查询,那么从表的角度上来说什么情况会无法查询,那么只能有一种情况,表被锁了。

3.办法解决

数据库查询那些表被锁

SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName
FROM sys.dm_tran_locks
WHERE resource_type='OBJECT '

杀死对应的程序

KILL  72

4.解决

通过计划任务查询死锁的表,如果同一张表一直呆在这个列表里面通过kill的程序杀死就可以了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

因为有你更精彩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值