mssql sql server 查看被锁的表和解锁的方法


摘要:
由于开发人员的水平参差不齐,当系统在高并发的情况下,非常容易产生死锁,
下午将讲述,如何查看被锁定(阻塞)的表和解锁



mssql sql server查看被锁表涉及系统表
select * from sys.dm_tran_locks


1 查看被锁定的表及对应的db-进程ID

  select a.request_session_id as [spId],b.name as [表名] from sys.dm_tran_locks a 
left join sysobjects b on a.resource_associated_entity_id = b.id 
where a.resource_type='OBJECT'
and    db_Name(a.resource_database_id) = '指定数据库名称' 

2 通过以下名称获取 进程ID所对应的sql语句

 dbcc inputbuffer(spid)

3 通过kill命令关闭 spid ,及可释放被锁表所占用的资源

 kill spid