티스토리 뷰
반응형
SQL 에서 SELECT 혹은 EXEC 와 같이 조회나 프로시저 실행 시 락에 걸려 우너하는 결과를 얻지 못하는 경우가 발생한다. 이때 락 걸린 프로세스를 종료하는 방법이다.
1. SP_LOCK & SP_WHO2
현재 락 걸린 세션 ID를 확인할 수 있도록 SP_LOCK를 제공합니다. 또 다른 함수로는 SP_WHO2 도 제공됩니다.
EXEC SP_LOCK
EXEC SP_WHO2
실행하면 위와 같은 결과가 나오는데 Mode 컬럼에 X 인 경우가 현재 락이 걸린 세션입니다.
BlkBy 컬럼에 값이 있다면 락이 걸린 세션입니다.
락이 걸린 세션을 확인했다면 해당 세션ID (SPID) 를 확인하여 해당 세션을 종료시켜주면 됩니다.
KILL (SPID)
다시 조회하면 락이 풀린 것을 확인할 수 있습니다.
https://docs.microsoft.com/ko-kr/sql/t-sql/language-elements/kill-transact-sql?view=sql-server-ver16
반응형
'IT & programming > MSSQL' 카테고리의 다른 글
[MS-SQL] 최근 수정된 개체 검색 방법 (0) | 2021.01.07 |
---|---|
[MS-SQL] 프로시저 내부의 문자열 검색 (syscomments & sql_modules) (0) | 2021.01.07 |
[MS-SQL] CHARINDEX 이용하여 문자열 자르기 (0) | 2021.01.05 |
[MS-SQL] 수량 만큼 ROW 추가 및 증가 (1) | 2020.05.28 |
[MS-SQL] PIVOT 테이블 사용 방법 (0) | 2016.02.01 |
댓글