跳到主要内容
常见问题 SQL Server连接错误网络

连接提示「无法打开服务器(错误 40)」是什么?

SSMS/客户端连接 SQL Server 报「无法打开服务器」类网络错误的含义:TCP 未启用、防火墙拦截、服务未监听,以及逐项排查路径。

发布于 2026/11/11 所属频道 SQL Server

简短答案

「无法打开服务器」是网络层连不上引擎的总括提示,不是登录失败(那是 18456 类)。三大嫌疑:引擎没开 TCP 监听、Windows 防火墙拦截了端口、服务压根没跑。排查从近到远:服务 → 协议 → 防火墙。

现象对照

现象 原因 处理
本机 SSMS 连默认实例都失败 TCP/IP 没启用,只有共享内存 启用 TCP/IP 并重启服务
本机行、远程不行 防火墙/路由 放行 1433(或实例端口)
所有连接都失败 引擎服务没在运行 先起服务
远程命名实例连不上 动态端口未通告 启动 SQL Browser 或固定端口

排查步骤

  1. 确认服务在跑:Get-Service MSSQLSERVER(命名实例是 MSSQL$实例名)。
  2. 查网络协议:「SQL Server 配置管理器」→ SQL Server 网络配置 → 把 TCP/IP 启用,默认实例端口确认 1433,重启 SQL Server 服务。
  3. 防火墙放行入站端口:
New-NetFirewallRule -DisplayName "SQL Server 1433" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
  1. 客户端连通性验证:
Test-NetConnection 服务器名 -Port 1433

通了在 SSMS 里实连;仍不通看域名解析与路由。 5. 命名实例远程场景确认 SQL Browser 服务在运行;各版本协议配置位置一致,见 SQL Server 2022 Developer、SQL Server 2019 Developer 条目页。

「无法打开服务器」出现在任何客户端上形态相同,服务端排查优先;客户端 ODBC/驱动问题一般是另一类报错(提供程序缺失类)。

操作小结

  1. 顺序:服务 → TCP/IP → 防火墙 → 客户端验证。
  2. 命名实例远程连不上多半是 Browser 没开。
  3. 每步留证,通到 SSMS 实连成功为止。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配