DBAtlas · Atlas de operaciones de bases de datos

Matar una sesión (SPID)

SQL ServerSesión

Comando

-- 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;

Qué hace

Termina el session_id (SPID) indicado; su transacción abierta se revierte.

Cuándo usarlo

Para detener una sesión que mantiene bloqueos, ejecuta una consulta desbocada/larga o no libera su conexión.

Precaución

En una transacción abierta grande el rollback puede tardar mucho y no se puede cancelar; siga el progreso con KILL WITH STATUSONLY. No mate SPID del sistema (is_user_process=0). Confirme que es el SPID correcto.

Abrir en DBAtlas →

Relacionado