SQL Server 连接被 Windows 防火墙挡住怎么开?
远程连接 SQL Server 被 Windows 防火墙拦截的放行方法:放行 1433/实例端口、命名实例加 Browser 端口、企业策略注意事项。
简短答案
Windows 防火墙默认拦截入站连接,远程连不上 SQL Server 的高频原因就在这里。放行对应入站 TCP 端口(默认实例 1433,命名实例为其固定端口),走 Browser 的命名实例还要放行 UDP 135。企业内还要检查域防火墙策略与中间设备。
现象对照
| 现象 | 判断 | 放行什么 |
|---|---|---|
| 远程连默认实例不通,本机通 | 1433 未放行 | 入站 TCP 1433 |
| 命名实例改固定端口后远程仍不通 | 该端口未放行 | 入站 TCP 对应端口 |
| 走 Browser 的命名实例连不上 | UDP 135 未放行 | 入站 UDP 135(及 Browser 端口) |
| 同机房通、跨网段不通 | 中间防火墙/路由 | 找网络团队放对应网段 |
放行命令
# 默认实例 1433
New-NetFirewallRule -DisplayName "SQL Server 1433" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
# 命名实例固定端口(示例 1434)
New-NetFirewallRule -DisplayName "SQL Server 1434" -Direction Inbound -Protocol TCP -LocalPort 1434 -Action Allow
# 走 Browser 的命名实例
New-NetFirewallRule -DisplayName "SQL Browser UDP135" -Direction Inbound -Protocol UDP -LocalPort 135 -Action Allow
或图形界面:wf.msc → 入站规则 → 找 SQL Server 相关规则启用,或手动新建端口规则。
验证与注意
- 放行后
Test-NetConnection 服务器IP -Port 1433应返回 True,再到 SSMS 实连。 - 服务器系统(如 Windows Server 2019)上防火墙策略可能由域策略统管,本地改规则可能被覆盖,改完查策略生效情况。
- 放行后逐台验证:先
Test-NetConnection,再到 SSMS 实连;中间设备(路由器/云安全组)也要核对对应网段。 - 放行范围只放必要端口,不要图省事全开。
操作小结
- 先确认实例端口(默认 1433 / 命名实例固定端口)。
- 入站放行该 TCP 端口;走 Browser 再加 UDP 135。
- 企业环境核对域策略,本地验证连通。