Trabaja con grupos de disponibilidad AlwaysOn


En esta página, se describen los grupos de disponibilidad AlwaysOn en SQL Server y cómo Datastream los admite para situaciones de conmutación por error y recuperación de datos.

Descripción general de los grupos de disponibilidad Always On

En SQL Server, los grupos de disponibilidad Always On son una solución de alta disponibilidad que te permite preparar tus bases de datos para situaciones de recuperación ante desastres.

Los grupos de disponibilidad Always On maximizan la disponibilidad de la base de datos para las empresas. Los grupos de disponibilidad admiten un entorno replicado para un conjunto seleccionado de bases de datos, conocidas como bases de datos de disponibilidad. Cada grupo incluye un conjunto de bases de datos principales para las tareas de lectura y escritura, y hasta ocho conjuntos de bases de datos secundarias correspondientes. Las bases de datos secundarias pueden permitir, de manera opcional, el acceso de solo lectura o las operaciones de copia de seguridad.

Para obtener más información sobre los grupos de disponibilidad Always On, consulta ¿Qué es un grupo de disponibilidad Always On? en la documentación de SQL Server.

Para obtener información sobre los requisitos previos del grupo de disponibilidad Always On para una instancia de SQL Server, consulta la documentación de SQL Server.

Configura Datastream para usarlo con grupos de disponibilidad Always On

Datastream admite el modo de disponibilidad synchronous-commit con el método CDC de tablas de cambios. En este modo, la base de datos secundaria permanece sincronizada con la principal correspondiente hasta que se detiene la sincronización de datos. La confirmación de una transacción solo se envía al cliente cuando la réplica secundaria escribe los registros de transacciones entrantes en un disco.

Para obtener información sobre los modos de disponibilidad, consulta Diferencias entre los modos de disponibilidad para un grupo de disponibilidad Always On.

Para configurar tu instancia de SQL Server para que se use con los grupos de disponibilidad Always On, debes habilitar el agente de SQL Server para capturar registros cuando haya una conmutación por error y, luego, ejecutar un trabajo de limpieza. Antes de hacerlo, debes modificar los pasos del trabajo del agente de CDC para verificar si la réplica actual es realmente la principal. Esto se hace con la función sys.fn_hadr_is_primary_replica.

Usa los siguientes comandos para configurar tu instancia:

  -- Check if the current replica is a primary for the corresponding database.
  USE [DATABASE_NAME];
  DECLARE @DatabaseName SYSNAME = DB_NAME();
  IF (SELECT sys.fn_hadr_is_primary_replica(@DatabaseName)) = 1
  BEGIN
  -- If the replica isn't a primary, the code block that follows is skipped
  EXECUTE sys.sp_cdc_add_job @job_type = 'capture';
  EXECUTE sys.sp_cdc_add_job @job_type = 'cleanup';
  END

Limitaciones conocidas

Entre las limitaciones conocidas para usar Datastream con grupos de disponibilidad Always On, se incluyen las siguientes:

  • Datastream no admite la resolución de DNS privado basada en direcciones IP de los objetos de escucha. Debes cambiar manualmente las direcciones IP de las réplicas.
  • Después de una conmutación por error del grupo de disponibilidad, debes asegurarte de forma manual de que los trabajos de captura y limpieza del agente de SQL Server se ejecuten en el nuevo servidor principal. Si no lo haces, es posible que se pierdan datos si los registros de transacciones se truncan antes de que Datastream pueda leer los cambios.
  • Si se crea una réplica antes que el elemento principal, debes agregar la etiqueta always_on_availability: true a tu transmisión para evitar problemas de integridad de los datos. Para obtener información sobre cómo agregar etiquetas a tu transmisión, consulta Define la configuración de la transmisión.

¿Qué sigue?