SQL SERVER数据库 死锁

网上搜来的

--查询哪些进程导致哪些表死锁 

select  request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName 
from sys.dm_tran_locks where resource_type='OBJECT'


    ----KILL掉进程

declare @spid  int 
    Set @spid  = 62 --锁表进程
    declare @sql varchar(1000)
    set @sql='kill '+cast(@spid  as varchar)
    exec(@sql)


    

真不行,重启SQL SERVER服务

 

但是为什么会死锁,你心里有点B数,事务提交了吗,数据量是不是太大,执行前有记得去看你自己调用的是哪个存过吗?

 

建议你做个实验:自己建一个表,往里面insert数据,但不提交。再开一个查询窗口,查询表里的数据,看看会不会卡住。

有没有把insert、update和commit间的时间控制到最小,真不行那就只能打日志了,看是卡在哪一步了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值