无法私有连接Azure SQL Server实例的技术求助
Azure SQL 私有终结点无法连接排查要点
以下是你可能遗漏的关键配置项,按优先级排查:
1. 专用DNS区域关联验证
- 确认用于SQL专用终结点的专用DNS区域(通常为
privatelink.database.windows.net)已关联VPN客户端所在的虚拟网络,而不仅是SQL Server所在的VNet。仅关联SQL所在VNet会导致VPN客户端无法解析到私有IP,仍走公网。 - 在VPN连接的客户端机器上执行
nslookup <你的SQL服务器名>.database.windows.net,检查返回的IP是否为专用终结点的私有IP:- 若返回公网IP,说明DNS解析未生效,优先排查DNS区域关联问题。
2. 子网NSG规则检查
- 检查专用终结点所在子网的NSG,是否添加入站规则允许来自VPN客户端地址范围的1433端口(SQL默认端口)流量。
- 检查VPN客户端所在子网的NSG,是否添加出站规则允许到专用终结点私有IP的1433端口流量。
- 注意:即使资源在同一VNet,NSG默认拒绝规则会阻断跨子网流量。
3. 专用终结点状态与关联验证
- 登录Azure门户,进入专用终结点资源,确认连接状态为“已批准”(若为“待批准”/“已拒绝”,需重新发起关联请求)。
- 验证专用终结点是否正确关联目标SQL Server实例,避免选错资源或订阅。
4. VPN客户端DNS配置
- 若使用点到站点VPN,确认客户端DNS服务器指向Azure VNet的DNS服务器(而非本地DNS)。本地DNS会解析SQL Server的公网IP,导致流量走公网被拦截。
- 在客户端执行
ipconfig /all,查看DNS服务器地址是否包含VNet的DNS服务器IP。
5. 路由表配置检查
- 检查VPN客户端所在子网的路由表,确认存在指向专用终结点子网的内部路由,避免流量被默认路由导向公网。
- 专用终结点流量需走VNet内部路由,而非VPN的公网出口路由。
快速验证步骤
- 先用
nslookup确认DNS解析是否正确,这是排查的核心起点。 - 若解析正确,用
Test-NetConnection <专用终结点私有IP> -Port 1433测试端口连通性:- 连通成功:问题出在SQL Server防火墙或身份验证配置。
- 连通失败:问题出在NSG或路由配置。
内容的提问来源于stack exchange,提问作者Wojciech Winogrodzki
相关产品推荐
相关产品推荐

