You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Azure SQL私有端点后同子网VM仍无法通过SSMS连接

问题排查与解决方案

核心问题分析

你的nslookup返回公网SQL网关地址,说明域名解析未指向私有端点,这是连接被拒绝的根本原因(公网访问已禁用)。以下是针对性排查步骤:


1. 验证VM的DNS服务器配置

  • 执行命令查看VM当前DNS设置:
    • Windows:ipconfig /all
    • Linux:cat /etc/resolv.conf
  • 确保DNS服务器不是公共DNS(如8.8.8.8),如果用自定义DNS,需满足:
    • 自定义DNS能将privatelink.database.windows.net的请求转发到Azure私有DNS区域;
    • 或自定义DNS中已添加dbserver.privatelink.database.windows.net对应私有端点IP的A记录。
  • 优先使用Azure默认DNS(168.63.129.16),它会自动处理私有链接的域名解析。

2. 检查私有DNS区域配置

  • 确认私有DNS区域名称为privatelink.database.windows.net(而非database.windows.net),这是Azure SQL私有端点要求的标准区域名称。
  • 在VM上执行nslookup dbserver.privatelink.database.windows.net,若返回私有端点IP,说明区域记录正常;若仍返回公网地址,可尝试删除并重新创建VNet与私有DNS区域的链接(即使状态显示正常)。

3. 验证VNet的私有链接解析设置

  • 确保VNet的“专用链接集成”已启用对Azure SQL的解析支持;
  • 若VNet使用自定义DNS,需在DNS服务器上配置条件转发规则,将privatelink.database.windows.net指向Azure私有DNS区域的IP地址。

4. 检查网络连通性与私有端点状态

  • 测试VM到私有端点的1433端口连通性:
    • Windows:Test-NetConnection dbserver.database.windows.net -Port 1433
    • Linux:nc -zv dbserver.database.windows.net 1433
  • 确认私有端点状态为“已批准”,关联子网正确,且NSG未阻止VM子网到私有端点子网的1433端口入站流量。
  • 核对私有DNS区域中的A记录IP与私有端点网卡的IP完全一致。

5. SSMS连接的额外注意事项

  • 直接使用私有端点IP连接失败是预期行为:SQL Server证书绑定的是dbserver.database.windows.net域名,IP连接会触发证书名称不匹配错误,即使勾选“信任服务器证书”也无法绕过。
  • 若启用加密连接报错,可先确保解析正常后再尝试,加密连接是Azure SQL的默认要求,建议最终启用,报错时可排查证书信任问题。

内容的提问来源于stack exchange,提问作者Mike Fleming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:01:13