참조 : http://oskardevelopers.blogspot.kr/2015/12/database-mssql-lock_8.html
* sp_lock 명령어를 통해 어느 spid에서 lock이 발생되는지를 확인했다면, 어떤 쿼리를 요청했는지도 알아야 할 필요가 있다.
이때는, 아래의 @spid에다가 문제가 되는 spid를 넣어 명령어를 실행시키면 된다.
-- 00에다가 lock이 잡힌 spid를 넣자.
declare @spid int = 00
dbcc inputbuffer(@spid)
exec sp_who @spid
exec sp_who2 @spid
-- Lock이 잡힌 세션에 대한 상세 정보
SELECT *
FROM sys.sysprocesses
CROSS APPLY sys.dm_exec_sql_text (sql_handle) as sql_text
WHERE spid = @spid
-- Blocking으로, 대기중인 세션들에 대한 상세 정보
SELECT *
FROM sys.sysprocesses
CROSS APPLY sys.dm_exec_sql_text (sql_handle) as sql_text
WHERE blocked > 0
댓글 없음:
댓글 쓰기