session ID
要结束的进程的会话 ID。 session_id 是在建立连接时为每个⽤户连接分配的唯⼀整数 (int)。
在连接期间,会话 ID 值与该连接捆绑在⼀起。 连接结束时,则释放该整数值,并且可以将它重
新分配给新的连接。
以下查询可帮助确定想要终⽌的 session_id :
SQL复制
UOW
标识分布式事务的⼯作单元 ID (UOW)。 UOW 是可以从 sys.dm_tran_locks 动态管理视图的
request_owner_guid 列获取的 GUID。 也可以从错误⽇志中或通过 MS DTC 监视器获取
UOW。 有关监视分布式事务的详细信息,请参阅 MS DTC 文档。
使⽤ KILL 可停⽌未解析的分布式事务。 这些事务不与任何实际会话 ID 相关联,但与会话 ID
=“-2”虚拟关联。 此会话 ID 可使标识未解析的事务变得更为简单,其⽅法是查询
sys.dm_tran_locks 、 sys.dm_exec_sessions 或 sys.dm_exec_requests 动态管理视图中
的会话 ID 列。
WITH STATUSONLY
⽤于⽣成由于更早的 KILL 语句⽽正在回滚的指定 UOW 或 session_id 的进度报告。 KILL
WITH STATUSONLY 不结束或回滚 UOW 或会话 ID。 此命令只显⽰当前回滚进度。
WITH COMMIT
⽤于通过提交终⽌未解析的分布式事务。 仅适⽤于分布式事务,必须指定 UOW 才能使⽤此选
项。 有关详细信息,请参阅分布式事务。
WITH ROLLBACK
⽤于使⽤回滚终⽌未解析的分布式事务。 仅适⽤于分布式事务,必须指定 UOW 才能使⽤此选
项。 有关详细信息,请参阅分布式事务。
备注
KILL 常⽤于结束使⽤锁来阻⽌其他重要进程的进程。 KILL 还可⽤于停⽌执⾏使⽤必要系统资源
的查询的进程。 ⽆法结束系统进程和运⾏扩展存储过程的进程。
应当⼩⼼使⽤ KILL,特别是正在运⾏重要进程时。 你⽆法终⽌⾃⼰的进程。 也不得终⽌以下进
程:
AWAITING COMMAND
CHECKPOINT SLEEP
LAZY WRITER
LOCK MONITOR
SIGNAL HANDLER
SELECT conn.session_id, host_name, program_name,
nt_domain, login_name, connect_time, last_request_end_time
FROM sys.dm_exec_sessions AS sess
JOIN sys.dm_exec_connections AS conn
ON sess.session_id = conn.session_id;
评论