Tutorial: Configuración de la replicación geográfica activa y la conmutación por error (Azure SQL Database)

Se aplica a:Azure SQL Database

En este artículo, aprenderá a configurar la replicación geográfica activa en Azure SQL Database utilizando Azure Portal o la CLI de Azure y a iniciar la conmutación por error.

Para los grupos de conmutación por error, consulta Grupos de conmutación por error con Azure SQL Database y Grupos de conmutación por error con Azure SQL Managed Instance.

Requisitos previos

En este tutorial se muestra cómo configurar una base de datos para la replicación geográfica activa. Para aprender a crear una base de datos única con Azure Portal, la CLI de Azure, la CLI de Azure (sql up) o PowerShell, consulte Inicio rápido: Creación de una base de datos única: Azure SQL Database.

Adición de una base de datos secundaria

Los pasos siguientes crean otra base de datos secundaria en una asociación de replicación geográfica.

Para agregar una base de datos secundaria, debe ser el propietario o copropietario de la suscripción.

La base de datos secundaria tiene el mismo nombre que la principal y, de forma predeterminada, presentan el mismo nivel de servicio y tamaño de proceso. La base de datos secundaria puede ser una base de datos única o una base de datos agrupada. Para obtener más información, consulte los artículos sobre el modelo de compra basado en DTU y el modelo de compra basado en núcleo virtual. Después de crear e inicializar la base de datos secundaria, los datos comienzan a replicarse desde la base de datos principal a la nueva base de datos secundaria.

Si la réplica secundaria solo se usa para la recuperación ante desastres (DR) y no tiene ninguna carga de trabajo de lectura o escritura, puede ahorrar en los costos de licencias mediante la designación de la base de datos para espera al configurar una nueva relación de replicación geográfica activa. Para más información, consulte Réplica en espera sin licencia.

Nota:

Si la base de datos asociada ya existe (por ejemplo, como resultado de la terminación de una relación de replicación geográfica anterior), se produce un error en el comando.

  1. En Azure Portal, vaya a la base de datos que desea configurar para replicación geográfica.

  2. En la página SQL Database, seleccione la base de datos, desplácese hasta Administración de datos, seleccione Réplicas y haga clic en Crear réplica.

    Screenshot that shows the Configure geo-replication option.

  3. Seleccione o cree el servidor de la base de datos secundaria y configure las opciones de Proceso y almacenamiento, si es necesario. Puede seleccionar cualquier región para el servidor secundario, pero es recomendable que utilice la región emparejada.

    Screenshot that shows the Create and configure replica screen.

    También puede agregar una base de datos secundaria a un grupo elástico. Para crear la base de datos secundaria en un grupo, seleccione junto a ¿Quiere usar un grupo elástico de SQL? y seleccione un grupo en el servidor de destino. Ya debe existir un grupo en el servidor de destino. Este flujo de trabajo no crea ningún grupo.

  4. Haga clic en Revisar y crear, consulte la información y haga clic en Crear.

  5. Se crea la base de datos secundaria y comienza el proceso de implementación.

    Screenshot that shows the deployment status of the secondary database.

  6. Cuando se completa la implementación, aparece el estado de la base de datos secundaria.

    Screenshot that shows the secondary database status after deployment.

  7. Vuelva a la página de la base de datos principal y seleccione Réplicas. La base de datos secundaria aparece en Réplicas geográficas.

    Screenshot that shows the SQL database primary and geo replicas.

Inicio de una conmutación por error

La base de datos secundaria se puede cambiar para convertirse en la principal.

  1. En Azure Portal, vaya a la base de datos principal de la asociación de replicación geográfica.

  2. Desplácese hasta Administración de datos y seleccione Réplicas.

  3. En la lista Réplicas geográficas, seleccione la base de datos que desea convertir en la nueva principal, el botón de puntos suspensivos y la opción Conmutación por error forzada.

    Screenshot that shows selecting forced failover from the drop-down.

  4. Haga clic en para iniciar la conmutación por error.


El comando cambiará inmediatamente la base de datos secundaria al rol principal. Este proceso debería de tardar 30 segundos o menos.

Mientras se cambian los roles, las dos bases de datos dejarán de estar disponibles (entre 0 y 25 segundos). Si la base de datos principal tiene varias bases de datos secundarias, el comando reconfigura automáticamente las demás secundarias para conectarse a la nueva principal. En circunstancias normales, toda la operación debería tardar menos de un minuto en completarse.

Quitar una base de datos secundaria

Esta operación detiene por completo la replicación en la base de datos secundaria y cambia el rol de la base de datos secundaria por el de una base de datos de lectura y escritura normal. Si se interrumpe la conectividad con la base de datos secundaria, el comando se ejecutará correctamente, pero la base de datos secundaria no pasará a ser de lectura y escritura hasta que se restaure la conectividad.

  1. En Azure Portal, vaya a la base de datos principal de la asociación de replicación geográfica.
  2. Seleccione Réplicas.
  3. En la lista Réplicas geográficas, seleccione la base de datos que desea quitar de la asociación de replicación geográfica, seleccione los puntos suspensivos y haga clic en Detener replicación.
  4. Se abrirá una ventana de confirmación. Haga clic en para quitar la base de datos de la asociación de replicación geográfica. (Establezca el valor en una base de datos de lectura y escritura que no forme parte de ninguna replicación).

Replicación geográfica entre suscripciones

Use Transact-SQL (T-SQL) para crear una base de datos geográfica secundaria en una suscripción que no sea la suscripción de la principal (ya sea en el mismo inquilino de Microsoft Entra ID [anteriormente Azure Active Directory] o no), siga los pasos de esta sección.

  1. Agregue la dirección IP de la máquina cliente que ejecuta los comandos T-SQL en este ejemplo, a los firewalls de servidor de ambos servidores, el principal y el secundario. Esa dirección IP se puede confirmar ejecutando la siguiente consulta mientras se está conectado al servidor principal desde la misma máquina cliente.

    select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
    

    Para más información, consulte Configuración de un firewall.

  2. En la base de datos master del servidor principal, cree un inicio de sesión de autenticación SQL dedicado a la configuración de la replicación geográfica activa. Ajuste el Id. de inicio de sesión y la contraseña según sea necesario.

    create login geodrsetup with password = 'ComplexPassword01';
    
  3. En la misma base de datos, cree un usuario para el inicio de sesión y agréguélo al rol dbmanager:

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  4. Anote el valor del identificador de seguridad del nuevo inicio de sesión. Obtenga el valor del identificador de seguridad, para lo que debe usar la siguiente consulta.

    select sid from sys.sql_logins where name = 'geodrsetup';
    
  5. Conéctese a la base de datos principal (no a la base de datos master) y cree un usuario para el mismo inicio de sesión.

    create user geodrsetup for login geodrsetup;
    
  6. En la misma base de datos, agregue el usuario al rol db_owner.

    alter role db_owner add member geodrsetup;
    
  7. En la base de datos master del servidor secundario, cree el mismo inicio de sesión que en el servidor principal, para lo que debe usar el mismo nombre, contraseña e identificador de seguridad. Reemplace el valor hexadecimal del identificador de seguridad en el comando de ejemplo siguiente por el obtenido en el paso 4.

    create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. En la misma base de datos, cree un usuario para el inicio de sesión y agréguélo al rol dbmanager.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. Conéctese a la base de datos master en el servidor principal mediante el nuevo inicio de sesión geodrsetup e inicie la creación de la base de datos geográfica secundaria en el servidor secundario. Ajuste el nombre de la base de datos y el nombre del servidor secundario según sea necesario. Una vez ejecutado el comando, puede supervisar la creación de la base de datos geográfica secundaria. Para ello, debe consultar la vista sys.dm_geo_replication_link_status de la base de datos principal y la vista sys.dm_operation_status en la base de datos master del servidor principal. El tiempo necesario para crear una base de datos geográfica secundaria depende del tamaño de la base de datos principal.

    alter database [dbrep] add secondary on server [servername];
    
  10. Una vez creada correctamente la base de datos secundaria geográfica, se pueden quitar los usuarios, los inicios de sesión y las reglas de firewall que ha creado este procedimiento.

Nota:

Las operaciones de replicación geográfica entre suscripciones, incluidas la configuración y la conmutación por error geográfica, solo se admiten mediante API de REST y comandos de SQL.

Al conectarse al servidor principal mediante un punto de conexión privado, no se admite la adición de una ubicación geográfica secundaria con T-SQL. Si el punto de conexión privado está configurado, pero se permite el acceso a la red pública, se admite la adición de una ubicación geográfica secundaria al conectarse al servidor principal desde una dirección IP pública. Una vez que se haya agregado la ubicación geográfica secundaria, se puede denegar el acceso a redes públicas.

No se admite la creación de una base de datos geográfica secundaria en un servidor lógico que esté en otro inquilino de Microsoft Entra cuando la autenticación exclusiva de Microsoft Entra está habilitada en el servidor lógico principal o secundario.

Pasos siguientes