DataBase/MSSQL [MSSQL] Lock 걸린 쿼리 확인하고 해제 및 방지하기 - 쿼리를 실행하다 보면 간단한 쿼리인데도 실행되지 않는 경우가 종종 발생하곤 합니다. 이럴때 가장먼저 확인해야 하는것이 해당 쿼리에 대해 Lock의 발생 여부입니다. Lock이 걸린 spid를 확인 EXEC SP_LOCK Mode가 X로 되어있는 spid를 확인합니다. Lock이 걸린 쿼리내용 확인 DBCC inputbeffer(spid) 위에서 식별된 spid를 넣고 Lock이 걸린 쿼리 내용을 확인합니다. Lock이 발생한 host 찾기 EXEC SP_WHO spid spid를 넣고 어떤 host에서 Lock이 발생한지 확인합니다. Lock 제거 EXEC KILL spid Lock이 발생한 경우 일부 테이블에 대한 액세스가 불가하기 때문에 꼭 제거하도록 합시다. 트랜잭션이 필요없는 대량의 데이터를 조회할 경우에는 아래처럼 WITH(NOLOCK) 옵션을 걸어주거나 SELECT * FROM Emp WITH(NOLOCK) 아래의 구문을 쿼리 맨 앞에 넣고 실행하면 Lock 발생 여부와 관계없이 테이블 조회가 가능합니다. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기고양이중독 저작자표시 Contents 당신이 좋아할만한 콘텐츠 [MSSQL] Try Catch 문을 사용한 트랜잭션(taransaction) 컨트롤 방법 2020.04.07 [MSSQL] 스케줄러(scheduler)를 통해 쿼리문 자동 반복하기 2020.04.07 [MSSQL] 특정 테이블을 사용하는 프로시저 찾기 2020.03.24 [SSMS 생산성향상 -2] SQL문에서 지정해 놓은 위치로 이동하기 2020.03.18 댓글 1 + 이전 댓글 더보기