SQLServer锁表的解决方法

在SqlServer中,项目中需要写到存储过程,但是有些刚接触的小伙伴,可能会出现写了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 = 86 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)

 

 

然后就可以正常使用啦

posted @ 2022-07-20 10:19  给自己个晚安  阅读(1417)  评论(0编辑  收藏  举报