跳到主要内容
系统常识 SQL Server连通性排查

程序访问 SQL Server 怎么先做连通性检查

程序报「连不上数据库」前的自查顺序:本机服务状态、TCP 可达性、登录层报错区分,三步把网络问题与账号问题分开。

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

结论先行

程序报「连不上 SQL Server」时先做三步分层自查:服务在不在 → 端口通不通 → 登录成不成。前两步是网络层,第三步才是引擎层;大多数「连不上」其实在前两步就解决了,别一上来就改账号密码。

三步自查(在能访问目标机器的位置执行)

# ① 目标机上确认服务在跑(管理员 PowerShell)
Get-Service mssqlserver | Select-Object Name, Status   # 默认实例
# 命名实例服务名形如 MSSQL$INST1,可先列出所有
Get-Service -Name "MSSQL*"

# ② 客户端侧测 TCP 可达性
Test-NetConnection -ComputerName 目标主机 -Port 1433

# ③ 通了再测登录(SSMS 连一次,看错误属于哪类)

报错怎么分层

现象 层 去向
超时 / 无响应 网络层 查防火墙(TCP 1433、命名实例 UDP 1434)、路由、服务是否监听
「拒绝连接」 网络层 端口对但服务没起,回第 ① 步
登录失败(18xxx 类错误) 引擎层 账号、密码、该登录能否登录该库
「数据库不存在」 引擎层 连接串里的 Database 拼写 / 该登录是否有该库映射

网络层 vs 引擎层的判定标准就一条:TCP 层通不通。通则查账号,不通则查网络。

客户端侧的常见误判

  1. 防火墙是双向的:客户端机器自己的出站规则、中间设备的入站规则都可能是堵点,两边都要查。
  2. 跨网段时还考虑路由与网络ACL,不只是防火墙(见「跨网段连接 SQL Server」相关条目)。
  3. 域环境内 Windows 认证跨子网时可能报「集成身份验证不受支持」——这是协议限制不是故障(见域连接相关条目)。

先跑通三步再谈其他;SSMS 管理工具条目 是最快的引擎层探测工具。SQL Server 2022 Developer、SQL Server 2019 Developer 条目环境的连接报错口径一致。

相关链接

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

相关推荐下载

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

配套 PE 工具

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

其他常识文章

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