我已创建专用端点,但仍然无法使用 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 进行测试时,登录失败,但我怀疑这不是问题,因为当我在启用公共访问的情况下进行测试时,它工作正常。
nslookup dbserver.database.windows.net
应返回私有 IP 地址。
如果不是这样:
我也有同样的故事。
此外,我在 Azure VM 上安装了一个具有 DNS 服务器角色的域控制器。所需要做的就是为 DNS 服务器设置一个条件转发器。