728x90
반응형
Microsoft SQL Sever Management Studio를 사용하다보면
쿼리문의 실행시간이 비정상적으로 길어지거나 요청시간이 초과하여 강제 종료되기도 합니다.
그런 상황이 발생했을때 확인해 볼 수 있는 방법들 중 SP_LOCK을 소개합니다.
1. EXEC SP_LOCK
- 여기서 필요한 항목은 spid, Mode의 값이 무엇인지 확인합니다.
Mode의 값이 X로 되어있다면 바로 그 부분이 Lock이 걸린 부분입니다.
2. EXEC SP_WHO [SPID], EXEC SP_WHO2 [SPID]
- LOCK이 걸린 부분의 사용자가 누구인지 확인합니다.
(다른사람이 잡아둔 LOCK이 있다면 함부로 KILL하지 말자..)
3. DBCC INPUTBUFFER([SPID])
- 스크립트를 조회해본다.
4. KILL [SPID]
- KILL해도 상관 없는 부분이라면 과감하게 KILL!
▶EXEC SP_LOCK에 컬럼에 있는 값이 궁금하다면 참고
컬럼명 | 자료형 | 설명 |
SPID | SMALLINT | 잠금을 요청하는 세선 ID |
DBID | SMALLINT | 잠금이 설정된 DB ID |
OBJID | INT | 잠금이 설정된 개체 ID |
INDID | SMALLINT | 잠금이 설정된 인덱스 ID |
TYPE | NCHAR(4) | 잠금 유형 |
RESOURCE | NCHAR(32) | 잠긴 리소스 식별하는 값 |
MODE | NVARCHAR(8) | 요청한 잠금 모드 상태 |
STATUS | NVARCHAR(5) | 잠금요청상태 -CNVRT : 잠금이 변환되고 있는 상태(다른 프로세스에 의한 변환 차단) -GRANT : 잠금된 상태 -WAIT : 잠금이 차단된 상태 |
[참고]
728x90
반응형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] 재귀 호출 사용법 (WITH, CTE) (0) | 2023.08.22 |
---|---|
DB 스케줄 자동 백업 관리 (0) | 2023.06.27 |
날짜 형 변환 / CONVERT(자료형,DATETIME,형식) (0) | 2023.06.27 |