Heim  >  Artikel  >  Datenbank  >  So fragen Sie gesperrtes SQL ab und entsperren es mit SQL Server

So fragen Sie gesperrtes SQL ab und entsperren es mit SQL Server

一个新手
一个新手Original
2017-10-18 10:23:281669Durchsuche

--Sehen Sie sich die gesperrte Tabelle an:

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   被锁表名

--Fragen Sie die SQL-Anweisung der entsprechenden Prozessverriegelung gemäß dem Sperrtabellenprozess
DBCC INPUTBUFFER (249)

ab

--Entsperren:

 DECLARE
        @spid INT
    SET @spid = 52--锁表进程
    DECLARE
        @SQL VARCHAR (1000)
    SET @SQL = 'kill ' + CAST (@spid AS VARCHAR) EXEC (@SQL)

--Entsperr-SQL generieren

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   被锁表名

Das obige ist der detaillierte Inhalt vonSo fragen Sie gesperrtes SQL ab und entsperren es mit SQL Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn