如何在不关闭SSMS或执行KILL SESSION的情况下关闭阻塞的临时连接?
解决SSMS临时连接阻塞的非关闭/非KILL方案
一、通过SSMS窗口直接管理连接
- 关闭指定查询窗口的连接:每个SSMS查询窗口对应独立的数据库连接。找到产生问题的查询窗口,点击工具栏的*「断开连接」按钮(断开插头图标),或右键窗口标题栏选择「断开连接」*,仅关闭该窗口对应的连接,无需退出整个SSMS。
- 重置窗口连接:若需保留查询窗口,点击工具栏的*「重新连接」*按钮(带箭头的插头图标),这会先断开原有临时连接再建立新连接,旧连接会被自动释放。
二、借助活动监视器精准终止连接
- 打开SSMS的*「活动监视器」*,定位到目标临时连接(可通过「进程」标签的「应用程序名」「主机名」「登录名」筛选确认)。
- 右键该连接,选择*「终止进程」*——这是图形化操作,和
KILL命令效果一致,但无需手动输入命令,且能精准选择目标连接,不影响其他正常会话。
三、调整SSMS默认设置预防遗留连接
- 设置连接超时:依次点击「工具」→「选项」→「查询执行」→「SQL Server」→「常规」,设置*「连接超时时间」*(建议设为30-60秒),闲置超时的连接会自动断开。
- 关闭「保持连接」选项:在「工具」→「选项」→「查询执行」→「SQL Server」→「高级」中,取消勾选*「保持连接」*,查询执行完成后,窗口不会持续保留连接。
四、调整SQL Server连接池回收闲置连接
在SQL Server配置管理器中,找到SQL Server服务的连接池设置,缩短*「空闲连接超时」*时间(默认是600秒),让闲置的临时连接被自动回收。注意:此设置会影响所有使用连接池的应用,需评估后调整。
内容的提问来源于stack exchange,提问作者John Waclawski
相关产品推荐
相关产品推荐

