Maison  >  Article  >  base de données  >  Comment interroger SQL verrouillé et déverrouiller à l'aide de sqlserver

Comment interroger SQL verrouillé et déverrouiller à l'aide de sqlserver

一个新手
一个新手original
2017-10-18 10:23:281656parcourir

--Afficher la table verrouillée :

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

--Interroger l'instruction SQL du verrouillage de processus correspondant en fonction du processus de la table de verrouillage
DBCC INPUTBUFFER (249)

--Déverrouiller :

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

--Générer du SQL de déverrouillage

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn