解析 Azure SQL 托管实例中的专用域名
适用于:Azure SQL 托管实例
本文介绍 Azure SQL 托管实例如何解析专用域名。
概述
在某些情况下,SQL Server 数据库引擎必须解析公共 DNS 记录中不存在的域名。 例如,以下场景可能涉及专用域名:
Azure SQL 托管实例部署在 Azure 虚拟网络 (VNet) 中,默认情况下使用 Azure 提供的名称解析来解析 Internet 地址。
要更改默认名称解析行为并启用专用域名解析,可以执行以下操作:
- 使用 Azure 专用 DNS 区域:什么是 Azure 专用 DNS?
- 使用自定义 DNS 服务器:Azure 虚拟网络中资源的名称解析
重要
将虚拟网络的 DNS 服务器从 Azure 更改为自定义服务器,或从自定义服务器更改为 Azure 时,还必须将此更改通知该虚拟网络中的 SQL 托管实例。 更新 SQL 托管实例部分对此有详细说明。
仅将 Azure 专用 DNS 区域附加到托管实例的虚拟网络或更新 Azure 专用 DNS 区域时,无需执行此操作。 这些更改会自动传播到托管实例。
注意事项
- 请注意不要替代或禁用 Azure SQL 托管实例在内部使用的域名解析,详见网络约束部分所列。 始终配置自定义 DNS 服务器,以便它可以解析公共域名。
- 始终对想要 Azure SQL 托管实例解析的服务(如邮件服务器或本地 SQL Server 实例)使用完全限定的域名 (FQDN)。 即使这些服务位于专用 DNS 区域中,也使用 FQDN。 例如,使用
smtp.contoso.com
。 创建引用同一虚拟网络中的 SQL Server VM 的链接服务器或配置引用同一虚拟网络中的 SQL Server VM 的复制也需要 FQDN 和默认 DNS 后缀;例如SQLVM.internal.chinacloudapp.cn
。
更新 SQL 托管实例
如果在具有现有 SQL 托管实例的虚拟网络中更改了 DNS 服务器设置,则托管这些实例的虚拟群集和基础计算机组需要与 DNS 配置中的更改同步。 更新虚拟群集会影响其中托管的所有 SQL 托管实例。
更新虚拟群集的 DNS 服务器设置时,虚拟网络上设置的自定义 DNS 服务器 IP 地址将成为该群集中实例的首选 DNS 服务器。 这些实例仍会将 Azure 的 DNS 解析程序地址作为备份保留,但现在会首先使用自定义 DNS 服务器解析地址。
使用 Azure 门户更新现有虚拟群集的 DNS 服务器设置。
- 打开 Azure 门户。
- 打开包含要配置的子网中托管实例所在的资源组,然后选择要为其更新 DNS 服务器设置的“SQL 托管实例”。
- 在“概述”中,选择实例所属的“虚拟群集”。
- 选择“同步 DNS 服务器设置”以更新群集。
验证配置
更新虚拟群集上的 DNS 服务器设置后,可以验证它现在是否对该群集中的托管实例有效。 要完成此操作,一个方法是创建并运行一个 SQL Server 代理作业,输出当前在网络接口上配置的 DNS 服务器列表。
要查看在托管实例网络接口上配置的 DNS 服务器列表:
- 启动 SQL Server Management Studio。
- 连接到你更新了 DNS 设置的群集中的托管实例。
- 在“对象资源管理器”中,展开“SQL Server 代理”。
- 右键单击“作业”,然后选择“新建作业...”。
- 在“常规”中,写入作业的名称,例如“Verify DNS settings”。
- 在“步骤”中,选择“新建...”。
- 写入步骤的名称,例如“run”。
- 将“类型”设置为 PowerShell。
- 在“命令”中,粘贴以下命令:
Get-DnsClientServerAddress
- 选择“确定”,然后选择“确定”以关闭这两个对话框窗口。
- 在“对象资源管理器”中,右键单击创建的作业,然后选择“启动作业步骤…”。这时作业将会开始运行。
- 作业完成后,再次右键单击该作业,然后选择“查看历史记录”。
- 在“日志文件摘要”中,展开该作业并选择其下第一个,也是唯一的一个步骤。
- 在“所选行详细信息:”中,检查该命令的输出,并确认它是否包含 DNS 服务器 IP 地址。
权限
在虚拟网络中同步 DNS 服务器配置的用户:
- 应是订阅参与者角色的成员,或
- 具有拥有
Microsoft.Sql/virtualClusters/updateManagedInstanceDnsServers/action
权限的自定义角色。
后续步骤
- 有关概述,请参阅什么是 Azure SQL 托管实例?
- 有关托管实例如何解析和定向流量的信息,请参阅 Azure SQL 托管实例的连接体系结构。
- 如需了解详细信息,请参阅 SQL 托管实例虚拟群集的体系结构
- 有关 Azure 虚拟网络中 DNS 解析的详细信息,请参阅 Azure 虚拟网络中资源的名称解析。
- 有关演示如何新建托管实例的教程,请参阅创建托管实例。
- 有关为托管实例配置虚拟网络的信息,请参阅连接体系结构。