我已按照所有步骤和指南在 Azure 上创建了 Microsoft SQL Server 实例。我禁用了公共访问并创建了专用端点和相应的 DNS。全部位于同一区域、订阅和子网中。无法通过 IP 或主机名进行私下连接(我有连接到该子网的 VPN)。通过主机名连接变为公共连接并返回公共访问已禁用的消息。我错过了什么?
顺便说一句:当我启用公共访问并添加防火墙规则时,我可以毫无问题地连接。
我尝试创建另一个 SQL Server,更加注意说明并让同事参与该过程。同样的结果:无法私密连接。
这不是完整的答案(我们确实没有足够的答案),但这里有一些潜在的问题和故障排除步骤。
我假设“SQL Server 实例”指的是 Azure SQL 托管实例。如果不是,则并非所有这些都适用。
首先,在您的描述中,不清楚是否需要专用端点。创建具有专用网络的虚拟网络(例如,禁用对资源的 publix 访问并添加专用终结点)时,SQL 托管实例的工作方式略有不同 - 它们在 VNET 中创建自己的子网(和 NSG),并根据该子网获取其 IP .
SQL MI 的私有端点似乎是为了允许跨 VNET 访问 - 请参阅 https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/connectivity-architecture-overview?view= azuresql#通信概述
禁用公共访问但没有专用终结点的 SQL MI,将具有公共 DNS 条目 - 只不过该条目将指向内部 VNET(例如 10.0.0.210)。
话虽如此,这里有一些故障排除步骤。
nslookup <servername>.<stuff>.database.windows.net
。它将返回一个 IP 地址(希望如此)。检查是否正确。