본문 바로가기
IT/Tip

MSSQL에서 락(lock)걸린 쿼리 확인하고 해제하기

by 여우요원 2016. 4. 7.



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(60)

 

3. sp_who spid

  1번에서 확인된 spid 를 입력하면 관련 정보를 표시해 준다.

  예) exec sp_who 60

 

4. kill spid

  Lock을 확인했으면 해당 spid 를 입력하여 해당 프로세스를 끝낸다.

  예) kill 60