-- 어떤 쿼리가 동작 하는지 확인. ('BlkBy' 컬럼에 값 있다면 Lock)
SQL> EXEC SP_WHO2
-- 내부 시스템 테이블로 Lock 확인.
SQL> SELECT * FROM SYS.SysProcesses WHERE blocked > 0;
-- 접속 유저 조회 ('Mode' 컬럼이 'X' 이면 Lock)
SQL> EXEC SP_LOCK
-- 강제 해제
SQL> KILL [SP_ID]
-- Lock 되어 있는 User 쿼리 조회
SQL> DBCC inputbuffer( [SP_ID] )
-- Lock 의심 유저 조회.
SELECT p.status ,p.program_name ,p.hostname ,p.spid ,p.blocked ,p.kpid
,p.cpu ,p.physical_io ,p.waittype ,p.waittime ,p.lastwaittype
,p.waitresource ,p.dbid ,p.uid ,p.memusage ,p.login_time ,p.last_batch
,p.ecid ,p.open_tran ,p.sid ,p.hostprocess
,p.cmd ,p.nt_domain ,p.nt_username ,p.net_address
,p.net_library ,p.loginame ,p.context_info ,p.sql_handle
,p.stmt_start ,p.stmt_end
FROM master..sysprocesses p
WHERE (
STATUS LIKE 'run%'
OR waittime > 0
OR blocked <> 0
OR open_tran <> 0
OR EXISTS (
SELECT *
FROM master..sysprocesses p1
WHERE p.spid = p1.blocked
AND p1.spid <> p1.blocked
)
)
AND spid > 50
AND spid <> @@spid
ORDER BY CASE
WHEN STATUS LIKE 'run%'
THEN 0
ELSE 1
END
,waittime DESC
,open_tran DESC
참고 : MSSQL 락 걸린 쿼리 확인 후 강제 kill하기 :: no pain, no gain (tistory.com)
https://dorumugs.tistory.com/entry/MSSQL-DB-Lock
'[ Programing ] > Database' 카테고리의 다른 글
MS-SQL 주간 계산. (0) | 2021.04.28 |
---|---|
MS-SQL SP Error Function (0) | 2021.04.20 |
[MSSQL] ERROR 15023 (0) | 2021.03.30 |
MS-SQL 사용자 계정 조회. (0) | 2021.03.30 |
MS-SQL 로그인 계정 조회 (0) | 2021.03.30 |