DBAtlas · 데이터베이스 운영 아틀라스

세션 종료 (SPID)

SQL Server세션

명령어

-- First find the offending SPID:
SELECT s.session_id, s.login_name, s.host_name, s.program_name,
       r.status, r.command, r.wait_type, r.blocking_session_id,
       DB_NAME(r.database_id) AS db
FROM   sys.dm_exec_sessions s
  LEFT JOIN sys.dm_exec_requests r ON r.session_id = s.session_id
WHERE  s.is_user_process = 1;

-- Kill (example SPID 63):
KILL 63;

-- Show rollback progress:
KILL 63 WITH STATUSONLY;

하는 일

지정한 session_id (SPID)를 종료하며 열린 트랜잭션은 롤백된다.

사용 시점

락을 보유하거나, 폭주/장기 쿼리를 실행하거나, 연결을 해제하지 않는 세션을 중지하기 위해.

주의

큰 열린 트랜잭션에서는 롤백이 오래 걸릴 수 있으며 취소할 수 없다. KILL WITH STATUSONLY로 진행 상황을 모니터링한다. 시스템 SPID(is_user_process=0)는 종료하지 않는다. 올바른 SPID인지 확인한다.

DBAtlas에서 열기 →

관련 항목