无法连接GCP中Windows Server虚拟机部署的SQL Server,求解决思路
GCP Windows Server SQL Server 远程连接故障排查提示
检查GCP云防火墙规则
- 登录GCP控制台,进入对应虚拟机的VPC网络 > 防火墙,确认已创建允许TCP 1433端口从你的客户端IP(测试阶段可临时用
0.0.0.0/0)入站的规则,且规则关联到虚拟机所在的网络标签或子网。 - 注意:GCP云防火墙是网络访问的第一道关卡,需优先于Windows本地防火墙规则生效。
确认SQL Server TCP/IP监听配置
- 打开SQL Server配置管理器,展开SQL Server网络配置 > [你的实例名称]的协议 > TCP/IP,右键进入属性的IP地址标签:
- 拉至最下方的IPAll区域,确认TCP端口设为1433,TCP动态端口留空(防止SQL随机分配端口)。
- 检查上方各IP地址项(如IP1、IP2),确保已启用为“是”,且对应TCP端口与IPAll保持一致。
验证端口监听状态
- 在GCP虚拟机的命令提示符中执行:
netstat -ano | findstr :1433,确认存在LISTENING状态的条目,且对应的PID与services.msc中SQL Server服务的PID一致。 - 若无
LISTENING条目,说明SQL Server未正确监听1433端口,需重新检查TCP/IP配置后重启服务。
检查SQL登录账号有效性
- 在SSMS本地连接实例后,右键实例选择属性 > 安全性,确认勾选SQL Server和Windows身份验证模式。
- 找到用于远程连接的SQL登录账号,右键进入属性 > 状态,确认登录选项为“启用”;再切换到用户映射标签,确认该账号已关联目标数据库并赋予必要权限。
测试网络连通性
- 在客户端电脑执行:
- 命令提示符:
telnet <GCP虚拟机公网IP> 1433 - PowerShell:
Test-NetConnection <GCP虚拟机公网IP> -Port 1433 - 若连通失败,排查GCP防火墙/Windows防火墙是否存在优先级更高的拒绝规则;若连通成功,确认SSMS连接时使用
<公网IP>,1433作为服务器名称(逗号分隔IP与端口)。
- 命令提示符:
命名实例额外检查(如适用)
- 若SQL Server为命名实例,需在services.msc中启动SQL Server Browser服务,并在GCP防火墙/Windows防火墙中放行UDP 1434端口,否则客户端无法解析实例端口。
内容的提问来源于stack exchange,提问作者Panchito
相关产品推荐
相关产品推荐

