码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver之事务(进程 ID 70)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。

时间:2020-07-31 19:24:53      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:解决   declare   kill   set   tab   rom   ble   var   _id   

问题解决:
1)查看被锁表:
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type=‘OBJECT‘
2)解锁
declare @spid int
Set @spid = 57 --锁表进程
declare @sql varchar(1000)
set @sql=‘kill ‘+cast(@spid as varchar)
exec(@sql)

 

--查询出死锁的baiSPID
select 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)
--输出引起死锁的操作
DBCC INPUTBUFFER (@spid)
--查询当前进程数
select count(-1) from sysprocesses
where dbid in (select dbid from sysdatabases where name like ‘%telcount%‘);

sqlserver之事务(进程 ID 70)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。

标签:解决   declare   kill   set   tab   rom   ble   var   _id   

原文地址:https://www.cnblogs.com/fengyiru6369/p/13411679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!