Compartir a través de


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 y a iniciar la conmutación por error para Azure SQL Database utilizando Azure Portal, PowerShell o la CLI de Azure.

La replicación geográfica activa está configurada por base de datos. Para conmutar por error un grupo de bases de datos o si la aplicación requiere un punto de conexión estable, considera en su lugar Grupos de conmutación por error.

Requisitos previos

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 más información, consulte Introducción al modelo de compra basado en DTU y 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 obtener 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.

    Captura de pantalla que muestra la opción de Configurar georreplicación.

  3. Seleccione su suscripción y grupo de recursos de la base de datos geográfica secundaria.

    Captura de pantalla de Azure Portal de la suscripción y el grupo de recursos.

  4. 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.

    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.

  5. Seleccione Revisar y crear, revise la información y, a continuación, seleccione Crear.

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

    Instantánea en la que se muestra el estado de implementación de la base de datos secundaria.

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

    Instantánea en la que se muestra el estado de la base de datos secundaria tras su implementación.

  8. 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.

    Instantánea en la que se muestra la instancia principal y las réplicas geográficas de la base de datos SQL.

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.

    Captura de pantalla que muestra la selección de conmutación por error forzada en el menú desplegable.

  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.

Ambas bases de datos no están disponibles, durante un máximo de 25 segundos, mientras que los roles se cambian. 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. (Establézcalo en una base de datos de lectura y escritura que no forme parte de ninguna replicación).

Replicación geográfica entre suscripciones

  • Para crear una base de datos geográfica secundaria en una suscripción diferente de la suscripción de la principal en el mismo inquilino de Microsoft Entra ID, puede usar Azure Portal o los pasos de esta sección.
  • Para crear una réplica secundaria geográfica en una suscripción diferente de la suscripción principal en otro inquilino de Microsoft Entra, use la autenticación de SQL y T-SQL como se describe en los pasos de esta sección. No se admite la autenticación de Microsoft Entra para Azure SQL para la replicación geográfica entre suscripciones cuando un servidor lógico está en un inquilino de Azure diferente
  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 Reglas de firewall de IP de Azure SQL Database y Azure Synapse.

  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.