- 查看被锁表:
SELECT
request_session_id spid,
OBJECT_NAME(
resource_associated_entity_id
)tableName
FROM
sys.dm_tran_locks
WHERE
resource_type =' OBJECT'ORDER
BY request_session_id ASC
--spid锁表进程
--tableName被锁表名
- 根据锁表进程查询相应进程互锁的SQL语句
DBCC INPUTBUFFER(249)
- 解锁:
DECLARE
@spid INT
SET @spid = 52--锁表进程
DECLARE
@SQL VARCHAR(1000)
SET @SQL ='kill'+ CAST(@spid AS VARCHAR)EXEC(@SQL)
- 生成解锁SQL
SELECT
DISTINCT'DECLARE @spid INT SET @spid =',request_session_id,'DECLARE @SQL VARCHAR(1000)SET @SQL =''kill''+ CAST(@spid AS VARCHAR)EXEC(@SQL) ;” as s
FROM
sys.dm_tran_locks
WHERE
resource_type ='OBJECT'--spid锁表进程
--tableName被锁表名
本文介绍如何使用SQL Server内置函数查询被锁表及其锁表进程,提供解锁SQL语句生成方法,帮助快速解决数据库锁表问题。
2078

被折叠的 条评论
为什么被折叠?



