MSSQL 실행 중인 쿼리 확인 및 종료 방법
- IT
- 2023. 10. 14.
SQL Server은 쿼리를 실행하면 이를 위한 세션이 생성되고 해당 세션은 고유의 SPID를 갖고 동작합니다. 윈도우에서 프로세스별로 PID를 갖는 것과 비슷합니다. 때문에 어떤 쿼리가 어떤 SPID에서 동작하고 있는지 확인하면 kill 명령어로 해당 쿼리를 죽일 수 있습니다.
이 과정은 sp_who2 → dbcc inputbuffer( spid ) → kill [spid] 명령 순으로 진행합니다. 하나씩 보겠습니다.
SQL Server 실행 쿼리 확인 및 중지
sp_who2
SQL Server에서 sp_who2 명령어를 사용하면 활성화된 세션 정보를 볼 수 있습니다. 이 정보를 기반으로 어떤 작업이 진행 중인지, 블로킹이 발생하고 있는 세션이 있는지 등을 파악할 수 있습니다. DB 서버에 부하가 발생하고 있다면 이 명령어로 체크해 보면 좋습니다.
[사용 구문]
sp_who2
컬럼명 | 설명 |
---|---|
SPID | Server Process ID. 각 세션 또는 연결의 고유 번호. |
Status | 세션의 상태 (예: RUNNING, SLEEPING, SUSPENDED 등). |
Login | 연결된 사용자의 로그인 이름. |
HostName | 연결된 클라이언트의 호스트 이름. |
BlkBy | 현재 세션을 블로킹하는 다른 세션의 SPID. "BlkBy"는 "Blocked By"의 줄임말. |
DBName | 현재 사용 중인 데이터베이스 이름. |
Command | 현재 세션에서 실행 중인 SQL 명령의 유형 (예: SELECT, UPDATE). |
CPUTime | 현재 쿼리가 사용한 CPU 시간 (밀리초). |
DiskIO | 현재 쿼리가 발생시킨 디스크 I/O의 양. |
LastBatch | 마지막 쿼리 또는 명령이 시작된 시간. |
ProgramName | 연결을 초기화한 클라이언트 응용 프로그램의 이름. |
REQUESTID | 병렬 쿼리의 각 요청에 대한 ID. |
dbcc inputbuffer( spid )
DBCC INPUTBUFFER는 SQL Server에서 특정 세션에서 마지막으로 실행된 쿼리가 무엇인지 알려줍니다. sp_who2로 문제가 있는 세션을 확인하고 그 세션의 쿼리 정보를 자세히 보기 위해 dbcc inputbuffer( spid )를 사용합니다.
[사용 구문]
dbcc inputbuffer( spid )
kill [spid]
kill은 특정 spid를 가진 세션을 강제로 종료하는 기능입니다. 문제가 있는 세션이 발견되면 kill로 강제 종료할 수 있습니다.
[사용 구문]
kill [spid]
예시)
테이블에 임의로 락을 걸고 쿼리를 확인 및 종료하는 예제를 해보겠습니다.
1. 락 발생 쿼리 실행
트랜잭션을 시작하면 종료 전까지는 테이블에 락이 걸리는 점을 이용하겠습니다.
BEGIN TRANSACTION; -- 트랜잭션 시작
UPDATE sample_table
SET name = 'Updated_Item1'
WHERE id = 1;
2. 새로운 쿼리 창 열고 쿼리 실행
다른 세션을 써야하기 때문에 새로운 쿼리 창을 열고 쿼리를 수행합니다. 테이블 락이 걸려있기 때문에 실행하지 못하는 걸 확인할 수 있습니다.
UPDATE sample_table
SET name = 'Blocked_Item1'
WHERE id = 1;
3. 블로킹 확인 및 종료
다시 새 쿼리 창을 열고 세션을 확인합니다. BlkBy 컬럼에 값이 있으면 블로킹이 발생했다는 의미입니다.
EXEC sp_who2
해당 세션의 spid를 확인합니다.
DBCC INPUTBUFFER(149)
블로킹이 발생한 세션을 종료합니다.
kill 149
'IT' 카테고리의 다른 글
유튜브 키즈 사용 방법 (어린이 전용 동영상) (1) | 2023.10.21 |
---|---|
맥북 화면 미러링 연결 방법 (삼성전자 스마트TV) (0) | 2023.10.15 |
카카오톡 오픈채팅방 만들기, 사용 방법 (0) | 2023.10.14 |
카카오톡 연락처로 친구추가 방지 (전화번호로 친구 추가 허용 옵션) (0) | 2023.10.13 |
맥북 팝업 차단 해제 방법 (사파리, 크롬 브라우저) (0) | 2023.10.12 |