网站首页 文章专栏 SqlServer表锁死spid为负数
SqlServer表锁死spid为负数
编辑时间:2019-03-08 15:17:34 作者:田泽 浏览量:364

前言

    系统有用到分布式事务,在执行开启事务的方法时直接关闭程序,引起了表锁死的情况。

解决方法

    查看锁表情况sql

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

 spid 是锁表进程id tablename是表名

 杀死锁表进程 

KILL 68 --68是spid

注:如果是分布式事务 spid的值是负数 但是执行kill -2时会提示

[SQL Server]进程 ID -2 不是有效的进程 ID。请选择一个介于 1 和 1024 之间的数字。

这种情况需要 重启DTC服务

服务名 Distributed Transaction Coordinator 分布式事务协调器



支付宝打赏 微信打赏

您的支持是我最大的动力。

吐槽区