独立专用 SQL 池的 DNS 别名(以前为 SQL DW)

对于不在 Synapse 工作区中的独立专用 SQL 池,可以配置自定义域名系统 (DNS) 服务器。 PowerShell 和 REST API 支持调用以创建和管理 DNS 别名,用于您的逻辑 SQL 服务器名称。

只有独立的专用 SQL 池(以前称为 DW)支持 Azure SQL 逻辑服务器 DNS 别名。 对于Azure Synapse工作区中的专用 SQL 池,目前不支持 DNS 别名。

使用 DNS 别名 代替服务器名称。 客户端程序可在其连接字符串中使用别名。 DNS 别名提供一个转换层,用于将客户端程序重定向到不同的服务器。 使用此层无需查找和编辑所有客户端及其连接字符串,因此降低了复杂性。

DNS 别名的常见用途包括:

  • 为服务器创建易于记住的名称。
  • 在初始开发期间,别名可以指向测试服务器。 应用程序上线后,你可以修改别名以引用生产服务器。 从测试转换到生产环境不需要对连接到服务器的客户端进行任何修改。
  • 假设你的应用程序中唯一的数据库被迁移到了另一台服务器上。 可以修改别名,而无需修改多个客户端的配置。

Internet 的域名系统 (DNS)

Internet 依赖于 DNS。 DNS 会将友好名称转换为服务器的名称。

带有一个 DNS 别名的场景

假设你需要将系统切换到新的服务器。 过去,你需要在每个客户端程序中查找并更新每个连接字符串。 但现在,如果连接字符串使用 DNS 别名,则只需更新别名属性。

DNS 别名功能可在以下方案中提供帮助:

从测试环境到生产环境

在开始开发客户端程序时,可让这些程序在其连接字符串中使用 DNS 别名。 可将别名属性设置为指向服务器的测试版本。

以后,当有新的系统在生产环境中上线时,可将别名属性更新为指向生产服务器。 不需要对客户端程序进行任何更改。

跨区域支持

灾难恢复可将服务器转移到不同的地理区域。 对于使用 DNS 别名的系统,不需要查找并更新所有客户端的所有连接字符串。 相反,可以更新别名来引用现在托管专用 SQL 池的新服务器。

DNS 别名的属性

以下属性适用于服务器的每个 DNS 别名:

  • 唯一的名称:像服务器名称一样,创建的每个别名在所有服务器上保持唯一。
  • 服务器是必需的: 除非 DNS 别名仅引用一台服务器,并且服务器必须已存在,否则无法创建 DNS 别名。 更新的别名必须始终恰好引用一个现有服务器。
    • 删除某个服务器时,Azure 系统也会删除指向该服务器的所有 DNS 别名。
  • 未绑定到任何区域: DNS 别名未绑定到区域。 可以更新任何 DNS 别名以引用驻留在任何地理区域中的服务器。
  • 权限: 若要管理 DNS 别名,必须具有 服务器参与者 权限或更高版本。 有关详细信息,请参阅 Azure 门户中 Azure 基于角色的访问控制入门

管理 DNS 别名

使用 REST API 或 PowerShell cmdlet 以编程方式管理 DNS 别名。

使用 REST API 管理 DNS 别名

有关 REST API 的详细信息,请参阅 Azure SQL 数据库 REST API

使用 PowerShell 管理 DNS 别名

可以使用 PowerShell cmdlet 来调用 REST API。 有关 PowerShell 示例,请参阅: PowerShell for DNS Alias to Azure SQL 数据库

代码示例中使用的 cmdlet 如下:

注释

本文使用 Azure Az PowerShell 模块,这是与 Azure 交互时推荐使用的 PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

重要

PowerShell Azure 资源管理器(AzureRM)模块已于 2024 年 2 月 29 日弃用。 所有未来的开发都应使用 Az.Sql 模块。 建议用户从 AzureRM 迁移到 Az PowerShell 模块,以确保持续支持和更新。 不再维护或支持 AzureRM 模块。 Az PowerShell 模块和 AzureRM 模块中命令的参数基本相同。 有关兼容性的详细信息,请参阅 新的 Az PowerShell 模块简介

Limitations

目前,DNS 别名具有以下限制:

  • 延迟最长为 2 分钟:最长需要 2 分钟才能更新或删除 DNS 别名。
    • 无论延迟如何短暂,别名都会立即停止将客户端连接指向旧服务器。
  • DNS 查找:目前,检查给定 DNS 别名引用哪台服务器的唯一权威方法是执行 DNS 查找
  • DNS 别名受命名限制的约束。