Alias DNS en Azure SQL Database

Se aplica a:Azure SQL DatabaseAzure Synapse Analytics

Azure SQL Database tiene un servidor de Sistema de nombres de dominio (DNS). Las API de REST y PowerShell aceptan llamadas para crear y administrar alias DNS como nombre del servidor SQL lógico.

Se puede usar un alias DNS en lugar del nombre de servidor. Los programas cliente pueden usar el alias en sus cadenas de conexión. El alias DNS proporciona una capa de traducción que puede redirigir los programas cliente a diferentes servidores. Esta capa evita las dificultades de tener que buscar y editar todos los clientes y sus cadenas de conexión.

Nota:

En Azure Synapse Analytics, el alias DNS del servidor lógico Azure SQL solo se admite para el grupo de SQL dedicado (anteriormente DW). En el caso de los grupos de SQL dedicados en áreas de trabajo de Azure Synapse, el alias DNS no se admite actualmente. ¿Cuál es la diferencia?

Los usos habituales de un alias DNS son los siguientes:

  • Cree un nombre sencillo de recordar para un servidor.
  • Durante el desarrollo inicial, el alias puede hacer referencia a un servidor de prueba. Cuando la aplicación esté activa, puede modificar el alias para que haga referencia al servidor de producción. La transición de prueba a producción no requiere ninguna modificación en las configuraciones de varios clientes que se conectan al servidor.
  • Suponga que la única base de datos de la aplicación se mueve a otro servidor. Puede modificar el alias sin necesidad de modificar las configuraciones de varios clientes.
  • Durante una interrupción regional, se usa la restauración geográfica para recuperar la base de datos en un servidor y una región diferentes. Puede modificar el alias existente para que apunte al nuevo servidor de forma que la aplicación cliente existente pueda volver a conectarse a él.

Sistema de nombres de dominio (DNS) de Internet

Internet se basa en el DNS. DNS traduce los nombres descriptivos en el nombre del servidor.

Escenarios con un alias DNS

Suponga que necesita cambiar el sistema a un nuevo servidor. En el pasado, era necesario encontrar y actualizar cada una de las cadenas de conexión de cada programa cliente. Ahora, sin embargo, si las cadenas de conexión usan un alias DNS, solo se debe actualizar la propiedad del alias.

La característica de alias DNS de Azure SQL Database puede ayudar en los siguientes escenarios:

Transición de prueba a producción

Al iniciar el desarrollo de los programas cliente, haga que usen un alias DNS en sus cadenas de conexión. Las propiedades del alias deben apuntar a una versión de prueba del servidor.

Más adelante, cuando el nuevo sistema pase a producción, puede actualizar las propiedades del alias para que apunten al servidor de producción. No es necesario ningún cambio en los programas cliente.

Compatibilidad con varias regiones

Una recuperación ante desastres podría desplazar el servidor a una región geográfica diferente. En sistemas que usan un alias DNS, se puede evitar la necesidad de encontrar y actualizar todas las cadenas de conexión de todos los clientes. En su lugar, puede actualizar un alias para que haga referencia al nuevo servidor que ahora hospeda la instancia de Azure SQL Database.

Propiedades de un alias DNS

Las siguientes propiedades se aplican a todos los alias DNS del servidor:

  • Nombre único: cada nombre de alias que se crea es único en todos los servidores, igual que lo son los nombres de servidor.
  • Se requiere un servidor: no se puede crear un alias DNS a menos que haga referencia exacta a un servidor y el servidor ya exista. Un alias actualizado siempre debe hacer referencia exacta a un servidor existente.
    • Cuando se quita un servidor, el sistema de Azure también quita todos los alias DNS que hagan referencia a él.
  • No enlazado a ninguna región: los alias DNS no están enlazados a ninguna región. Los alias DNS pueden actualizarse para que hagan referencia a un servidor que resida en cualquier región geográfica.
    • Sin embargo, cuando se actualiza un alias para que haga referencia a otro servidor, ambos servidores deben existir en la misma suscripción de Azure.
  • Permisos: para administrar un alias DNS, el usuario debe tener permisos de colaborador de servidor u otros superiores. Para más información, vea la introducción al control de acceso basado en rol de Azure en Azure Portal.

Administración de los alias DNS

Tanto las API de REST como los cmdlets de PowerShell le permiten administrar los alias DNS mediante programación.

API de REST para administrar los alias DNS

La documentación de las API de REST está disponible cerca de la ubicación web siguiente:

Además, las API de REST puede verse en GitHub en:

PowerShell para administrar los alias DNS

Nota

En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Importante

El módulo de Azure Resource Manager para PowerShell todavía es compatible, pero todo el desarrollo futuro se realizará para el módulo Az.Sql. Para estos cmdlets, consulte AzureRM.Sql. Los argumentos para los comandos del módulo Az y los módulos AzureRm son esencialmente idénticos.

Existen cmdlets de PowerShell que llaman a las API de REST.

Un ejemplo de código de cmdlets de PowerShell que se usa para administrar alias DNS se documenta en:

Los cmdlets usados en el ejemplo de código son los siguientes:

Limitaciones

Actualmente, un alias DNS tiene las siguientes limitaciones:

  • Retraso de hasta 2 minutos: un alias DNS tarda hasta 2 minutos en actualizarse o quitarse.
    • Independientemente de cualquier retraso breve, el alias deja inmediatamente de remitir las conexiones cliente al servidor heredado.
  • Búsqueda DNS: por ahora, la única manera autoritativa de comprobar cuál es el servidor al que hace referencia un determinado alias es realizar una búsqueda DNS.
  • El alias DNS está sujeto a restricciones de nomenclatura.

Pasos siguientes