SqlServer表锁住后,必须手动杀掉死锁的会话ID,才能恢复正常,相关操作:
查看被锁表:
select request_session_id
spid,OBJECT_NAME(resource_associated_entity_id) tableName from
sys.dm_tran_locks where resource_type=‘OBJECT’
–spid 锁表进程
–tableName 被锁表名
解锁:
declare @spid int Set @spid = 57 --锁表进程 declare @sql varchar(1000) set
@sql='kill '+cast(@spid as varchar) exec(@sql)
查询出死锁的SPID
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%’);