Завершение сессии (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 верный.