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

时间:2020-07-31 19:24:53   收藏:0   阅读:227

问题解决:
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%‘);

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!