[MSSQL] 현재 블로킹중인 spid, 쿼리 얻기

2014. 8. 28. 16:52Coders

간단한 쿼리 입니다. (메모를 위해 -_-; )

sysadmin 권한이 있어야 결과가 나옵니다.

예제에서는 spid, hostname, query 만 뽑아 내었지만, 응용하면 다른 항목도 뽑아낼 수 있습니다.

SELECT s1.spid,
       s1.hostname,
       s2.text AS query
  FROM master..sysprocesses s1 WITH (NOLOCK)
       CROSS APPLY
       sys.dm_exec_sql_text(s1.sql_handle) AS s2
 WHERE s1.spid IN (
       SELECT blocked
         FROM master..sysprocesses WITH (NOLOCK)
        WHERE blocked > 0
       )
   AND s1.blocked = 0;