由于“拒绝公共网络访问”设置为“是”,因此连接被拒绝

问题描述 投票:0回答:2

我已创建专用端点,但仍然无法使用 SSMS 从同一子网上的虚拟机进行连接。

返回的错误是

Cannot connect to dbserver.database.windows.net.

===================================

Reason: An instance-specific error occurred while establishing a connection to SQL Server. Connection was denied since Deny Public Network Access is set to Yes (https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access). To connect to this server, use the Private Endpoint from inside your virtual network (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database). (.Net SqlClient Data Provider)  

我已将我的服务器名称替换为“dbserver”

我看到其他人也有同样的问题,这种情况下的问题是专用 DNS 区域和虚拟网络之间没有虚拟网络链接。 不过,我已经确认这是正确的。

我还确认了虚拟机的 DNS 服务器是专用 DNS 区域的服务器。

在私有 DNS 区域中,有一条“dbserver”记录,这是私有端点网卡的地址。 当我执行

nslookup dbserver.database.windows.net
时,它会返回西欧 SQL 网关的地址。 我怀疑这是错误的?

我正在测试“信任服务器证书”已选中,“加密连接”未选中,因为打开此功能会带来其他错误。

当我仅使用 IP 进行测试时,登录失败,但我怀疑这不是问题,因为当我在启用公共访问的情况下进行测试时,它工作正常。

azure azure-sql-database azure-virtual-network azure-sql-server
2个回答
0
投票

nslookup dbserver.database.windows.net
应返回私有 IP 地址。 如果不是这样:

  • 检查 Azure DNS 私有区域条目
  • 检查 Azure DNS 专用区域是否已链接到 VM 所在的 vnet
  • 检查 vnet DNS 设置和虚拟机的 NIC DNS 设置是否设置为默认值。

0
投票

我也有同样的故事。

此外,我在 Azure VM 上安装了一个具有 DNS 服务器角色的域控制器。所需要做的就是为 DNS 服务器设置一个条件转发器。

  • DNS 域:database.windows.net
  • IP 地址:Azure DNS 解析器 (168.63.129.16)。
© www.soinside.com 2019 - 2024. All rights reserved.