“Cannot connect to server”错误首要排查TCP/IP协议启用状态,其次需验证SQL Server服务运行、防火墙放行1433端口、remote access配置为1、以及身份验证模式设为混合模式并正确提供凭据。

SQL Server 报 “Cannot connect to server” 错误时,TCP/IP 协议未启用确实是首要排查项,但并非唯一原因。该错误通常指向底层网络协议层不可达,而 TCP/IP 禁用占全部连接失败案例的约 80%。以下是多种可独立验证与修复的具体路径:
一、验证并启用 TCP/IP 协议
此操作直接解决因协议禁用导致的连接通道缺失问题。SQL Server 默认安装后 TCP/IP 处于禁用状态,必须手动开启并重启服务才能生效。
1、在 Windows 开始菜单中搜索并打开 SQL Server 配置管理器(注意:需在 SQL Server 所在服务器本地操作)。
2、左侧导航栏展开 SQL Server 网络配置,再点击对应实例的协议条目(如“Protocols for MSSQLSERVER”或“Protocols for SQLEXPRESS”)。
3、在右侧列表中找到 TCP/IP,右键选择 启用;若已显示启用,仍建议右键 → 禁用,再右键 → 启用以刷新状态。
4、双击已启用的 TCP/IP 条目,切换至 IP 地址 选项卡,滚动到底部 IPAll 区域,清空 TCP 动态端口 栏位,仅在 TCP 端口 中填入 1433(或你指定的固定端口)。
5、返回左侧导航栏,展开 SQL Server 服务,右键对应实例(如 SQL Server (MSSQLSERVER)),选择 重新启动。
二、检查 SQL Server 服务运行状态
即使协议启用,若数据库引擎服务本身未运行,所有连接请求均会立即被拒绝。该状态独立于网络配置,必须优先确认。
1、按 Win + R 输入 services.msc 并回车,打开 Windows 服务管理器。
2、在服务列表中查找名称为 SQL Server (实例名) 的条目(例如 SQL Server (MSSQLSERVER) 或 SQL Server (SQLEXPRESS))。
3、确认其 状态 列显示为 正在运行;若为“已停止”,右键该服务 → 启动。
4、同时检查 启动类型 是否设为 自动,避免下次重启后服务未自启。
三、放行 Windows 防火墙入站规则
防火墙默认拦截外部对 1433 端口的 TCP 请求,即使服务与协议均正常,也会表现为 “Connection refused”。需显式添加允许规则。
1、打开 Windows Defender 防火墙 → 高级安全设置(可通过控制面板或搜索进入)。
2、左侧点击 入站规则,右侧点击 新建规则。
3、规则类型选择 端口 → 下一步 → 协议选择 TCP → 特定本地端口输入 1433(若使用其他端口则填对应值)→ 下一步。
4、操作选择 允许连接 → 下一步 → 配置文件勾选 域、专用、公用(根据实际网络环境决定)→ 下一步 → 名称填写 SQL Server TCP 1433 → 完成。
四、确认远程访问全局开关已开启
SQL Server 实例级存在一个名为 “remote access” 的服务器配置选项,默认值为 0(禁用),需显式启用才允许来自非本机的连接请求。
1、使用具有 sysadmin 权限的账户登录 SQL Server(如通过 SSMS 连接本地实例)。
2、执行以下 T-SQL 命令:
EXEC sp_configure 'remote access', 1; RECONFIGURE;
3、执行完成后,无需重启服务,该设置即时生效。
五、验证身份验证模式与登录凭据
若使用 SQL Server 身份验证(如 sa 账户),但服务器仅启用 Windows 身份验证模式,则无论网络是否通畅,均会报 “Cannot connect to server” 或更具体的 “Login failed for user”。
1、在 SQL Server 配置管理器中,右键对应实例 → 属性 → 切换到 安全性 页签。
2、确认 服务器身份验证 设置为 SQL Server 和 Windows 身份验证模式(即混合模式)。
3、点击 确定 后,系统提示需重启服务 —— 此时必须执行 重启 SQL Server 服务 才能使更改生效。
4、随后确保 Navicat 或其他客户端连接时选择 SQL Server Authentication,并正确输入已启用且未过期的用户名与密码。

















