sqlserver解决锁表

有时候数据库的表在多人同时操作时,会产生锁表问题,当select某张表卡住不动时,可能就是锁表了。

–查看被锁表,实际上就是查看当前进程:

select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName   
from sys.dm_tran_locks where resource_type='OBJECT'
  
--spid   锁表进程 
--tableName   被锁表名

– 解锁,实际上就是kill进程:
kill + 锁表进程

–检索死锁进程sql

select spid, blocked, loginame, last_batch, status, cmd, hostname, program_name  
from sysprocesses  
where spid in  
( select blocked from sysprocesses where blocked <> 0 ) or (blocked <>0) 

转载请注明来源

×

喜欢就点赞,疼爱就打赏