SQL Browser 服务没开,命名实例连不上?
命名实例默认动态端口,远程连接依赖 SQL Browser 服务通告端口;Browser 未运行或被禁用时远程连不上的处理路径。
简短答案
命名实例默认用动态端口(每次服务启动可能变),远程客户端要连它,得靠 SQL Browser 服务回答「这个实例在哪个端口」。Browser 服务没跑(或被禁用、被防火墙拦了 135 端口),远程就找不到实例。处理两条路:启动 Browser 服务,或把实例改成固定端口绕开 Browser。
现象对照
| 现象 | 判断 | 处理 |
|---|---|---|
| 本机 SSMS 连命名实例正常,远程报「找不到实例」类错误 | Browser 没跑 | 启动 SQL Browser 服务 |
| 启了 Browser 仍连不上 | 135 端口被防火墙拦 | 放行入站 UDP 135 |
| 不想依赖 Browser | 动态端口不稳定 | 实例改固定端口 |
处理步骤
方案一:启用 SQL Browser
Start-Service SQLBrowser
Set-Service SQLBrowser -StartupType Automatic
同时放行防火墙入站 UDP 135(及 Browser 使用的动态端口),再远程试连。
方案二:固定端口(更稳)
- 「SQL Server 配置管理器」里把该命名实例的 TCP 端口改成固定值(如 1434),禁用动态。
- 重启 SQL Server 服务。
- 防火墙放行该 TCP 端口;客户端连接写
机器名\实例名,1434。
Browser 服务只在「多实例 + 动态端口」场景才必要;实例少、端口固定后,Browser 保持停止也不影响连接,还能少一个服务面。
操作小结
- 本机行、远程不行 + 命名实例 → 优先怀疑 Browser / 动态端口。
- 两条路二选一:开 Browser + 放行 135,或固定端口 + 放行该端口。
- 固定端口方案对运维更友好,推荐。