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 中打开 →

相关内容