DBAtlas · Atlas für Datenbankbetrieb

Session beenden (SPID)

SQL ServerSession

Befehl

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

Was es tut

Beendet die angegebene session_id (SPID); ihre offene Transaktion wird zurückgerollt.

Wann einsetzen

Um eine Session zu stoppen, die Sperren hält, eine außer Kontrolle geratene/lange Abfrage ausführt oder ihre Verbindung nicht freigibt.

Vorsicht

Bei einer großen offenen Transaktion kann das Rollback lange dauern und lässt sich nicht abbrechen; verfolge den Fortschritt mit KILL WITH STATUSONLY. Beende keine System-SPIDs (is_user_process=0). Prüfe, ob die SPID stimmt.

In DBAtlas öffnen →

Verwandte Einträge