--View the locked table:
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 被锁表名
--Query the SQL statement of the corresponding process interlock according to the lock table process
DBCC INPUTBUFFER (249)
-- Unlock:
DECLARE @spid INT SET @spid = 52--锁表进程 DECLARE @SQL VARCHAR (1000) SET @SQL = 'kill ' + CAST (@spid AS VARCHAR) EXEC (@SQL)
-- Generate unlocking 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 被锁表名
The above is the detailed content of How to query locked sql and unlock using sqlserver. For more information, please follow other related articles on the PHP Chinese website!