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
Para completar este tutorial, necesita una base de datos única de Azure SQL. Para aprender a crear una base de datos única con Azure Portal, la CLI de Azure o PowerShell, consulte Inicio rápido: Creación de una base de datos única: Azure SQL Database.
Puede usar Azure Portal para configurar la replicación geográfica activa entre suscripciones siempre que ambas suscripciones estén en el mismo inquilino de Microsoft Entra ID.
- Para crear una réplica secundaria geográfica en una suscripción diferente de la suscripción principal en otro inquilino de Microsoft Entra ID, use la réplica secundaria geográfica entre suscripciones y el tutorial de T-SQL del inquilino de Microsoft Entra ID.
- Las operaciones de replicación geográfica entre suscripciones, incluidas la configuración y la conmutación por error geográfica, también se admiten mediante la API de REST para crear o actualizar bases de datos.
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.
En Azure Portal, vaya a la base de datos que desea configurar para replicación geográfica.
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.
Seleccione su suscripción y grupo de recursos de la base de datos geográfica secundaria.
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 Sí 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.
Seleccione Revisar y crear, revise la información y, a continuación, seleccione Crear.
Se crea la base de datos secundaria y comienza el proceso de implementación.
Cuando se completa la implementación, aparece el estado de la base de datos secundaria.
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.
Inicio de una conmutación por error
La base de datos secundaria se puede cambiar para convertirse en la principal.
En Azure Portal, vaya a la base de datos principal de la asociación de replicación geográfica.
Desplácese hasta Administración de datos y seleccione Réplicas.
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.
Haga clic en Sí 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.
- En Azure Portal, vaya a la base de datos principal de la asociación de replicación geográfica.
- Seleccione Réplicas.
- 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.
- Se abrirá una ventana de confirmación. Haga clic en Sí 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
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.
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';
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;
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';
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;
En la misma base de datos, agregue el usuario al rol
db_owner
.ALTER ROLE db_owner ADD MEMBER geodrsetup;
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;
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;
Conéctese a la base de datos
master
en el servidor principal mediante el nuevo inicio de sesióngeodrsetup
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 datosmaster
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];
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.