在Sql Server数据库中锁表解锁解决办法

2023-06-01 00:00:00 解锁 数据库中 解决办法

在Sql Server数据库中,项目中需要写到存储过程,但是有些刚接触的小伙伴,

可能会出现写了 begin,没有 end 的情况,这种 SQL 语句可以保存到存储过程中,但是在执行存储过程的时候会出现锁的情况,这个时候就需要我们去进行解锁;


解锁语句如下:

第一步:

先运行下方的select语句,查询出锁的进程;

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


第二步:

解锁语句,需要将锁表进程@spid换成

上面查询出来的锁表进程;

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

相关文章