아미(아름다운미소)

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

데이타베이스/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



Comments