데이타베이스/MSSQL
MSSQL에서 락(lock)걸린 쿼리 확인하고 해제하기
유키공
2018. 3. 20. 10:50
MS-SQL을 사용하다 보면 여러가지 이유로 Lock이 걸려서 더 이상 작업이 안되는 경우 가 있습니다.
이 경우 아래의 방법으로 확인하고 해결할 수 있습니다.
1. sp_lock 실행
Lock 내용 확인. Mode가 X 인 것들을 확인하고, spid 를 기억해 둔다.
보통 spid 가 여러개 중복되어 출력되는 경우가 많다.
예) exec sp_lock
2. dbcc inputbuffer(spid)
클라이언트에서 MSSQL로 보낸 최종 명령문을 표시한다.
1번에서 Mode 가 X 인 것의 spid를 입력하면 해당 내용이 출력된다.
예) dbcc iniputbuffer(30)
3. sp_who spid
1번에서 확인된 spid 를 입력하면 관련 정보를 표시해 준다.
예) exec sp_who 30
4. kill spid
Lock을 확인했으면 해당 spid 를 입력하여 해당 프로세스를 끝낸다.
예) kill 30