今天出现一个奇怪的现象,SQLServer数据库中某张表的只有8条数据,在Navicat中执行SQL语句,十几秒都没有结果
数据库的其他表均能正常显示。网上调查得知可能是表出现死锁情况
解决方案如下:
1.查看被锁表:
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type='OBJECT'
spid 代表锁表进程
tableName 代表被锁表名
2.解锁:
declare @spid int
Set @spid = 57 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)