Tutorial: Configuración manual de un grupo de disponibilidad: máquinas virtuales con SQL Server en Azure

Se aplica a:SQL Server en VM de Azure

Sugerencia

Hay muchos métodos para implementar un grupo de disponibilidad. Simplifique la implementación y elimine la necesidad de un nombre de red distribuida (DNN) o un equilibrador de carga de Azure para el grupo de disponibilidad Always On mediante la creación de las máquinas virtuales (VM) de SQL Server en varias subredes dentro de la misma red virtual de Azure. Si ya ha creado el grupo de disponibilidad en una sola subred, puede migrarlo a un entorno de varias subredes.

En este tutorial se muestra cómo crear un grupo de disponibilidad Always On para SQL Server en máquinas virtuales de Azure dentro de una sola subred. En el tutorial se crea un grupo de disponibilidad con una réplica de base de datos en dos instancias de SQL Server.

En este artículo se configura manualmente el entorno del grupo de disponibilidad. También se pueden automatizar los pasos mediante Azure Portal, PowerShell o la CLI de Azure o bien las plantillas de inicio rápido de Azure.

Tiempo estimado: una vez que haya cumplido los requisitos previos, tardará en completar este tutorial aproximadamente 30 minutos.

Requisitos previos

En este tutorial se da por supuesto que tiene conocimientos básicos de los grupos de disponibilidad de Always On de SQL Server. Para más información, consulte el tema de introducción a los grupos de disponibilidad AlwaysOn de SQL Server.

Antes de comenzar con los procedimientos de este tutorial, debe completar los requisitos previos para crear grupos de disponibilidad Always On en máquinas virtuales de Azure. Si ya ha completado estos requisitos previos, puede ir a Creación del clúster.

En la tabla siguiente se resumen los requisitos previos que necesita para poder completar este tutorial:

Requisito Descripción
Dos instancias de SQL Server - En un conjunto de disponibilidad de Azure
- En un solo dominio
- Con los clústeres de conmutación por error instalados
Windows Server Recurso compartido de archivos para un testigo de clúster
Cuenta de servicio de SQL Server Cuenta de dominio
Cuenta de servicio Agente SQL Server Cuenta de dominio
Puertos de firewall abiertos - SQL Server: 1433 para una instancia predeterminada
- Punto de conexión de creación de reflejo de la base de datos: 5022 o cualquier puerto disponible
- Sondeo de estado de la dirección IP del equilibrador de carga de un grupo de disponibilidad: 59999 o cualquier puerto disponible
- Sondeo de estado de la dirección IP del equilibrador de carga principal del clúster: 58888 o cualquier puerto disponible
Clústeres de conmutación por error Obligatorio para ambas instancias de SQL Server
Cuenta de dominio de la instalación - Administrador local en cada instancia de SQL Server
- Miembro del rol fijo de servidor sysadmin para cada instancia de SQL Server
Grupos de seguridad de red (NSG) Si el entorno usa grupos de seguridad de red, asegúrese de que la configuración actual permite el tráfico de red a través de puertos descritos en Configuración del firewall.

Creación del clúster

La primera tarea consiste en crear un clúster de conmutación por error de Windows Server con ambas VM con SQL Server y un servidor testigo:

  1. Utilice el protocolo de escritorio remoto (RDP) para conectarse a la primera VM con SQL Server. Utilice una cuenta de dominio que sea administrador de ambas VM con SQL Server y el servidor testigo.

    Sugerencia

    En los requisitos previos, ha creado una cuenta llamada CORP\Install. Utilice esta cuenta.

  2. En el panel Administrador del servidor, seleccione Herramientas y, después, Administrador de clústeres de conmutación por error.

  3. En el panel izquierdo, haga clic con el botón derecho en Administrador de clústeres de conmutación por error y, a continuación, seleccione Crear clúster.

    Screenshot of Failover Cluster Manager and the option for creating a cluster on the shortcut menu.

  4. En el Asistente para crear clúster, cree un clúster de un solo nodo avanzando por las páginas con la configuración de la tabla siguiente:

    Página Configuración
    Antes de comenzar Usar predeterminados.
    Seleccionar servidores Escriba el primer nombre de VM con SQL Server en Escriba un nombre de servidor y, a continuación, seleccione Agregar.
    Advertencia de validación Seleccione No. No necesito compatibilidad con Microsoft para este clúster y por tanto no deseo ejecutar las pruebas de validación. Continuar con la creación del clúster al hacer clic en Siguiente. .
    Punto de acceso para administrar el clúster En Nombre del clúster, escriba un nombre de clúster (por ejemplo, SQLAGCluster1).
    Confirmación Use los valores predeterminados, a menos que esté usando Espacios de almacenamiento.

Establecer la dirección IP del clúster de conmutación por error de Windows Server

Nota

En Windows Server 2019, el clúster crea un valor de nombre de servidor distribuido en lugar del valor de nombre de la red en clúster. Si usa Windows Server 2019, omita los pasos que hagan referencia al nombre principal del clúster en este tutorial. Puede crear un nombre de red en clúster mediante PowerShell. Para obtener más información, revise la entrada de blog Clúster de conmutación por error: objeto de red del clúster.

  1. En Administrador de clústeres de conmutación por error, desplácese hacia abajo hasta Recursos principales de clúster y expanda los detalles del clúster. Los recursos Nombre y Dirección IP deben estar en el estado Error.

    No se puede poner en conexión el recurso de dirección IP porque el clúster tiene asignada la misma dirección IP que la propia máquina. Es una dirección duplicada.

  2. Haga clic con el botón derecho en el recurso Dirección IP erróneo y después seleccione Propiedades.

    Screenshot of Failover Cluster Manager that shows selections for opening properties for the IP address.

  3. Seleccione Dirección IP estática. Especifique una dirección disponible de la misma subred que las máquinas virtuales.

  4. En la sección Recursos principales de clúster, haga clic con el botón derecho en el nombre del clúster y seleccione Poner en línea. Espere hasta que los recursos estén en línea.

    Cuando el recurso de nombre de clúster está en línea, actualiza el servidor del controlador de dominio con una nueva cuenta de equipo de Active Directory. Use esta cuenta de Active Directory para ejecutar más tarde el servicio de clúster del grupo de disponibilidad.

Agregue la otra instancia de SQL Server al clúster.

  1. En el árbol del explorador, haga clic con el botón derecho en el clúster y seleccione Agregar nodo.

    Screenshot of Failover Cluster Manager that shows selections for adding a node to a cluster.

  2. En el Asistente para agregar nodo, seleccione Siguiente.

  3. En la página Seleccionar servidores, agregue la segunda VM con SQL Server. Escriba el nombre de la máquina virtual en Escriba el nombre del servidor y, a continuación, seleccione Agregar>siguiente.

  4. En la página Advertencia de validación, seleccione No. (En un escenario de producción, debería realizar las pruebas de validación). A continuación, seleccione Siguiente.

  5. En la página Confirmación, si usa Espacios de almacenamiento, desactive la casilla Agregar todo el almacenamiento apto al clúster.

    Screenshot of the page in the Add Node Wizard that confirms the addition of a node to the cluster.

    Advertencia

    Si no desactiva la opción Agregar todo el almacenamiento apto al clúster, Windows desasocia los discos virtuales durante el proceso de agrupación en clústeres. Como resultado, no aparecen en el Administrador de discos ni en el Explorador de objetos hasta que se quita el almacenamiento del clúster y se vuelve a asociar mediante PowerShell.

  6. Seleccione Next (Siguiente).

  7. Seleccione Finalizar.

    El Administrador de clústeres de conmutación por error indica que el clúster tiene un nuevo nodo y lo muestra en el contenedor Nodos.

  8. Cierre sesión en la sesión de escritorio remoto.

Adición de un recurso compartido de archivos para un cuórum de clúster

En este ejemplo, el clúster de Windows usa un recurso compartido de archivos para crear un cuórum de clúster. En este tutorial se usa un cuórum NodeAndFileShareMajority. Para más información, consulte Configurar y administrar el cuórum.

  1. Conéctese a la máquina virtual del servidor testigo del recurso compartido de archivos con una sesión de escritorio remoto.

  2. En Administrador del servidor, seleccione Herramientas. Abra Administración de equipos.

  3. Seleccione Carpetas compartidas.

  4. Haga clic con el botón derecho en Recursos compartidos y, a continuación, seleccione Nuevo recurso compartido.

    Screenshot that shows selections for creating a new share in Computer Management.

    Use el Asistente para crear una carpeta compartida para crear un recurso compartido.

  5. En la página Ruta de acceso de carpeta, seleccione Examinar. Busque o cree una ruta de acceso para la carpeta compartida y, a continuación, seleccione Siguiente.

  6. En la página Nombre, descripción y configuración, compruebe el nombre del recurso compartido y la ruta de acceso. Seleccione Next (Siguiente).

  7. En la página Permisos de la carpeta compartida, establezca Personalizar permisos. Seleccione Personalizada.

  8. En el cuadro de diálogo Personalizar permisos, seleccione Agregar.

  9. Asegúrese de que la cuenta utilizada para crear el clúster tiene control total.

    Screenshot of the dialog for customizing permissions, showing that the Install account has full control of the share.

  10. Seleccione Aceptar.

  11. En la página Permisos de la carpeta compartida, seleccione Finalizar. A continuación, seleccione Finalizar otra vez.

  12. Cierre sesión en el servidor.

Configuración del cuórum de clúster

Nota

Según la configuración del grupo de disponibilidad, puede que sea necesario cambiar el voto de cuórum de un nodo que participa en el clúster de conmutación por error de Windows Server. Para obtener más información, consulte Configuración del cuórum de clúster para SQL Server en VM de Azure.

  1. Conéctese al primer nodo de clúster mediante una sesión de escritorio remoto.

  2. En el Administrador de clústeres de conmutación por error, haga clic con el botón derecho en el clúster, apunte a Más acciones y seleccione Configurar opciones de quórum de clúster.

    Screenshot of Failover Cluster Manager that shows selections for configuring cluster quorum settings.

  3. En el Asistente para configurar el quórum de clúster, seleccione Siguiente.

  4. En la página Seleccionar opción de configuración de quórum, elija Seleccionar el testigo de quórum y, a continuación, seleccione Siguiente.

  5. En la página Seleccionar testigo de cuórum, elija Configurar un testigo de recurso compartido de archivos.

    Sugerencia

    Windows Server 2016 admite un testigo en la nube. Si elige este tipo de testigo, no necesita ningún testigo de recurso compartido de archivos. Para obtener más información, consulte Implementación de un testigo en la nube para un clúster de conmutación por error. Este tutorial usa un testigo de recurso compartido de archivos, que es compatible con los sistemas operativos anteriores.

  6. En Configurar un testigo de recurso compartido de archivos, escriba la ruta de acceso para el recurso compartido que ha creado. Luego, seleccione Siguiente.

  7. En la página Confirmación, compruebe la configuración. Luego, seleccione Siguiente.

  8. Seleccione Finalizar.

Los recursos principales de clúster se configuran con un testigo de recurso compartido de archivos.

Habilitación de grupos de disponibilidad

A continuación, habilite los grupos de disponibilidad Always On. Complete estos pasos en ambas VM con SQL Server.

  1. Desde la pantalla Inicio, abra el Administrador de configuración de SQL Server.

  2. En el árbol del explorador, seleccione Servicios de SQL Server. A continuación, haga clic con el botón derecho en el servicio SQL Server (MSSQLSERVER) y seleccione Propiedades.

  3. Seleccione la pestaña Alta disponibilidad de Always On y, luego, Habilitar los grupos de disponibilidad Always On.

    Screenshot that shows selections for enabling Always On availability groups.

  4. Seleccione Aplicar. Seleccione Aceptar en el cuadro de diálogo emergente.

  5. Reinicie el servicio SQL Server.

Habilite la característica FILESTREAM

Si no usa FILESTREAM para la base de datos en el grupo de disponibilidad, omita este paso y vaya al paso siguiente: Crear base de datos.

Si planea agregar una base de datos al grupo de disponibilidad que usa FILESTREAM, FILESTREAM debe habilitarse, ya que la característica está deshabilitada de manera predeterminada. Use el Administrador de configuración de SQL Server para habilitar la característica en ambas instancias de SQL Server.

Para habilitar la característica FILESTREAM, siga estos pasos:

  1. Inicie el archivo RDP en la primera máquina virtual de SQL Server (por ejemplo, SQL-VM-1) con una cuenta de dominio que sea miembro del rol fijo de servidor sysadmin, como la cuenta de dominio CORP\Install creada en el documento de requisitos previos.

  2. Desde la pantalla Inicio de una de las máquinas virtuales de SQL Server, inicie el Administrador de configuración de SQL Server.

  3. En el árbol del explorador, resalte Servicios de SQL Server, haga clic con el botón derecho en el servicio SQL Server (MSSQLSERVER) y seleccione Propiedades.

  4. Seleccione la pestaña FILESTREAM. Después, active la casilla para Habilitar FILESTREAM para acceso Transact-SQL:

  5. Seleccione Aplicar. Seleccione Aceptar en el cuadro de diálogo emergente.

  6. En SQL Server Management Studio, haga clic en Nueva consulta para mostrar el Editor de Power Query.

  7. En el Editor de consultas, escriba el siguiente código de Transact-SQL:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE
    
  8. Haga clic en Ejecutar.

  9. Reinicie el servicio SQL Server.

  10. Repita estos pasos para la otra instancia de SQL Server.

Creación de una base de datos en la primera instancia de SQL Server

  1. Abra el archivo RDP para la primera VM con SQL Server con una cuenta de dominio que sea miembro del rol fijo de servidor sysadmin.
  2. Abra SQL Server Management Studio (SSMS) y conéctese a la primera instancia de SQL Server.
  3. En el Explorador de objetos, haga clic con el botón derecho en Bases de datos y seleccione Nueva base de datos.
  4. En Nombre de la base de datos, escriba MyDB1 y, a continuación, seleccione Aceptar.

Creación de un recurso compartido de copia de seguridad

  1. En la primera máquina virtual de SQL Server, en Administrador del servidor, seleccione Herramientas. Abra Administración de equipos.

  2. Seleccione Carpetas compartidas.

  3. Haga clic con el botón derecho en Recursos compartidos y, a continuación, seleccione Nuevo recurso compartido.

    Screenshot of selections for starting the process of creating a backup share.

    Use el Asistente para crear una carpeta compartida para crear un recurso compartido.

  4. En la página Ruta de acceso de carpeta, seleccione Examinar. Busque o cree una ruta de acceso para la carpeta compartida de la copia de seguridad de la base de datos y, a continuación, seleccione Siguiente.

  5. En la página Nombre, descripción y configuración, compruebe el nombre del recurso compartido y la ruta de acceso. Luego, seleccione Siguiente.

  6. En la página Permisos de la carpeta compartida, establezca Personalizar permisos. A continuación, seleccione Personalizado.

  7. En el cuadro de diálogo Personalizar permisos, seleccione Agregar.

  8. Active Control total para conceder acceso total al recurso compartido de la cuenta del servicio SQL Server (Corp\SQLSvc):

    Screenshot of the Customize Permissions dialog. Make sure that the SQL Server service accounts for both servers have full control.

  9. Seleccione Aceptar.

  10. En la página Permisos de la carpeta compartida, seleccione Finalizar. Seleccione Finalizar otra vez.

A continuación, haga una copia de seguridad completa de la base de datos.

Debe hacer una copia de seguridad de la nueva base de datos para inicializar la cadena de registros. Si no se realiza una copia de seguridad de la nueva base de datos, esta no puede incluirse en un grupo de disponibilidad.

  1. En el Explorador de objetos, haga clic con el botón derecho en la base de datos, apunte a Tareas y seleccione Hacer copia de seguridad.

  2. Seleccione Aceptar para realizar una copia de seguridad completa en la ubicación de copia de seguridad predeterminada.

Creación de un grupo de disponibilidad

Ya está listo para crear y configurar un grupo de disponibilidad mediante las siguientes tareas:

  • Crear una base de datos en la primera instancia de SQL Server.
  • Realizar una copia de seguridad completa y una copia de seguridad del registro de transacciones de la base de datos.
  • Restaure las copias de seguridad completas y de registros en la segunda instancia de SQL Server con la opción NO RECOVERY.
  • Crear el grupo de disponibilidad (MyTestAG) con confirmación sincrónica, conmutación automática por error y réplicas secundarias legibles.

Crear el grupo de disponibilidad

  1. Conéctese a la VM con SQL Server mediante el escritorio remoto y abra SQL Server Management Studio.

  2. En el Explorador de objetos de SSMS, haga clic con el botón derecho en Alta disponibilidad de Always On y seleccione Asistente para nuevo grupo de disponibilidad.

    Screenshot of Object Explorer in SSMS, with the shortcut command for starting the New Availability Group Wizard.

  3. En la página Introducción, seleccione Siguiente. En la página Especificar opciones de grupo de disponibilidad, escriba un nombre para el grupo de disponibilidad en el cuadro Nombre de grupo de disponibilidad. Por ejemplo, escriba MyTestAG. Luego, seleccione Siguiente.

    Screenshot that shows specifying an availability group name in the New Availability Group Wizard in SSMS.

  4. En la página Seleccionar bases de datos, seleccione la base de datos y seleccione Siguiente.

    Nota

    La base de datos cumple los requisitos previos para un grupo de disponibilidad porque ha realizado al menos una copia de seguridad completa en la réplica principal prevista.

    Screenshot that shows selecting databases in the New Availability Group Wizard in SSMS.

  5. En la página Especificar réplicas, seleccione Agregar réplica.

    Screenshot of the button for adding a replica in the New Availability Group Wizard in SSMS.

  6. En el cuadro de diálogo Conectar al servidor, en Nombre del servidor, escriba el nombre de la segunda instancia de SQL Server. A continuación, seleccione Conectar.

    De nuevo en la página Especificar réplicas, ahora debería ver el segundo servidor en Réplicas de disponibilidad. Configure las réplicas tal como se muestra a continuación.

    Screenshot that shows two servers listed as replicas in the New Availability Group Wizard in SSMS.

  7. Seleccione Puntos de conexión para ver el punto de conexión de creación de reflejo de la base de datos para este grupo de disponibilidad. Utilice el mismo puerto que usó al configurar la regla de firewall para los puntos de conexión de creación de reflejo de la base de datos.

    Screenshot of the Endpoints tab in the New Availability Group Wizard in SSMS.

  8. En la página Seleccionar sincronización de datos iniciales, seleccione Completa y especifique una ubicación de red compartida. Para la ubicación, utilice el recurso compartido de copia de seguridad que creó. En el ejemplo, era \\<Primera instancia de SQL Server>\Backup\. Seleccione Next (Siguiente).

    Nota

    La sincronización completa realiza una copia de seguridad completa de la base de datos en la primera instancia de SQL Server y la restaura en la segunda instancia. En el caso de las bases de datos de gran tamaño, no se recomienda la sincronización completa porque puede tardar mucho tiempo.

    Puede reducir este tiempo realizando manualmente una copia de seguridad de la base de datos y restaurándola con NO RECOVERY. Si ya se ha restaurado la base de datos con NO RECOVERY en la segunda instancia de SQL Server antes de configurar el grupo de disponibilidad, seleccione Solo unirse. Si quiere realizar la copia de seguridad después de configurar el grupo de disponibilidad, seleccione Omitir la sincronización de datos iniciales.

    Screenshot of the options for data synchronization in the New Availability Group Wizard in SSMS.

  9. En la página Validación, seleccione Siguiente. Esta página debe tener un aspecto similar a la siguiente imagen:

    Screenshot of the page that shows the results of validation in the New Availability Group Wizard in SSMS.

    Nota:

    Hay una advertencia para la configuración del cliente de escucha porque no ha configurado una escucha de grupo de disponibilidad. Puede omitir esta advertencia porque en las máquinas virtuales de Azure, el cliente de escucha se crea después de crear el equilibrador de carga de Azure.

  10. En la página Resumen, seleccione Finalizar y espere hasta que el asistente configure el nuevo grupo de disponibilidad. En la página Progreso, puede seleccionar Más detalles para ver el progreso detallado.

    Una vez que el asistente haya finalizado la configuración, inspeccione la página Resultados para comprobar que se ha creado correctamente el grupo de disponibilidad.

    Screenshot that shows successful completion of the New Availability Group Wizard in SSMS.

  11. Seleccione Cerrar para cerrar el asistente.

Comprobación del grupo de disponibilidad

  1. En el Explorador de objetos, expanda Alta disponibilidad AlwaysOn y después, expanda Grupos de disponibilidad. Ahora debería de ver el nuevo grupo de disponibilidad en este contenedor. Haga clic con el botón derecho en el grupo de disponibilidad y seleccione Mostrar el panel.

    Screenshot of Object Explorer in SSMS that shows selections for opening a dashboard for an availability group.

    El panel del grupo de disponibilidad debe tener un aspecto similar al de la captura de pantalla siguiente:

    Screenshot of the availability group dashboard in SSMS.

    El panel muestra las réplicas, el modo de conmutación por error de cada réplica y el estado de sincronización.

  2. En Administrador de clústeres de conmutación por error, seleccione el clúster. Seleccione Roles.

    El nombre del grupo de disponibilidad que ha usado es un rol en el clúster. Ese grupo de disponibilidad no tiene una dirección IP para las conexiones de cliente porque no ha configurado un cliente de escucha. Va a configurar el cliente de escucha después de crear un equilibrador de carga de Azure.

    Screenshot of an availability group in Failover Cluster Manager.

    Advertencia

    No trate de conmutar por error el grupo de disponibilidad desde el Administrador de clústeres de conmutación por error. Todas las operaciones de conmutación por error deben realizarse en el panel del grupo de disponibilidad en SSMS. Obtenga más información sobre las restricciones en el uso del Administrador de clústeres de conmutación por error con grupos de disponibilidad.

En este punto, tiene un grupo de disponibilidad con réplicas de SQL Server. Puede mover el grupo de disponibilidad entre instancias. No se puede conectar al grupo de disponibilidad aún porque no tiene un cliente de escucha.

En Azure Virtual Machines, el agente de escucha requiere un equilibrador de carga. El siguiente paso consiste en crear el equilibrador de carga en Azure.

Creación de un equilibrador de carga de Azure

Nota:

Las implementaciones del grupo de disponibilidad en varias subredes no requieren un equilibrador de carga. En un entorno de una sola subred, los clientes de SQL Server 2019 CU8 y versiones posteriores en Windows 2016 y versiones posteriores pueden reemplazar el cliente de escucha de nombre de red virtual (VNN) tradicional y Azure Load Balancer con un cliente de escucha de nombre de red distribuida (DNN). Si quiere usar un DNN, omita los pasos del tutorial que configuren Azure Load Balancer para el grupo de disponibilidad.

En las máquinas virtuales de Azure de una sola subred, un grupo de disponibilidad de SQL Server necesita un equilibrador de carga. El equilibrador de carga almacena las direcciones IP de los clientes de escucha del grupo de disponibilidad y del clúster de conmutación por error de Windows Server. En esta sección se resume cómo crear el equilibrador de carga en Azure Portal.

Un equilibrador de carga en Azure puede ser estándar o básico. Un equilibrador de carga estándar tiene más características que el equilibrador de carga básico. Para un grupo de disponibilidad, se requiere el equilibrador de carga estándar si usa una zona de disponibilidad (en lugar de un conjunto de disponibilidad). Para obtener más información sobre la diferencia entre las SKU, consulte SKU de Azure Load Balancer.

Importante

El 30 de septiembre de 2025, se retirará la SKU básica de Azure Load Balancer. Para obtener más información, consulte el anuncio oficial. Si actualmente usa Basic Load Balancer, actualice a Standard Load Balancer antes de la fecha de retirada. Para obtener instrucciones, revise Actualizar Load Balancer.

  1. En Azure Portal, vaya al grupo de recursos que contiene las VM con SQL Server y seleccione +Agregar.

  2. Busque el equilibrador de carga. Elija el equilibrador de carga que Microsoft publica.

    Screenshot that shows selecting a Microsoft-published load balancer.

  3. Seleccione Crear.

  4. En la página Crear equilibrador de carga, configure los parámetros siguientes para el equilibrador de carga:

    Configuración Entrada o selección
    Suscripción Utilice la misma suscripción que la de la máquina virtual.
    Grupos de recursos Utilice el mismo grupo de recursos que la máquina virtual.
    Nombre Use un nombre de texto para el equilibrador de carga, por ejemplo sqlLB.
    Región Use la misma región que la máquina virtual.
    SKU Seleccione Estándar.
    Tipo seleccione Interno.

    La página debería tener un aspecto similar a este:

    Screenshot of the Azure portal that shows selected parameters for a load balancer.

  5. Seleccione Siguiente: Configuración de la dirección IP de frontend.

  6. Seleccione + Agregar una configuración de IP de front-end.

    Screenshot of the button for creating a frontend IP configuration in the Azure portal.

  7. Configure la dirección IP de front-end con los valores siguientes:

    • Nombre: escriba un nombre que identifique la configuración de la dirección IP de front-end.
    • Red virtual: seleccione la misma red que la de las máquinas virtuales.
    • Subred: seleccione la misma subred que la de las máquinas virtuales.
    • Asignación: seleccione Estática.
    • Dirección IP: use una dirección disponible en la subred. Use esta dirección para la escucha de grupo de disponibilidad. Esta dirección es distinta de la dirección IP del clúster.
    • Zona de disponibilidad: opcionalmente, elija una zona de disponibilidad en la que se implementará la dirección IP.

    En la imagen siguiente se muestra el cuadro de diálogo Agregar configuración de dirección IP de front-end:

    Screenshot of the Azure portal that shows the dialog for frontend IP configuration.

  8. Seleccione Agregar.

  9. Elija Revisar y crear para validar la configuración. A continuación, seleccione Crear para crear el equilibrador de carga y la dirección IP de front-end.

Para configurar el equilibrador de carga, debe crear un grupo de back-end y un sondeo y establecer las reglas de equilibrio de carga.

Incorporación del grupo de back-end para el cliente de escucha del grupo de disponibilidad

  1. Vaya al grupo de recursos en Azure Portal. Es posible que deba actualizar la vista para ver el equilibrador de carga recién creado.

    Screenshot of the Azure portal that shows a load balancer in an availability group.

  2. Seleccione el equilibrador de carga, seleccione Grupos de back-end y, a continuación, seleccione +Agregar.

  3. En Nombre, escriba un nombre para el grupo de back-end.

  4. En Configuración del grupo de back-end, seleccione NIC.

  5. Seleccione Agregar para asociar el grupo de back-end con el conjunto de disponibilidad que contiene las máquinas virtuales.

  6. En Máquina virtual, elija las máquinas virtuales que hospedarán las réplicas del grupo de disponibilidad. No incluya el servidor testigo del recurso compartido de archivos.

    Nota:

    Si no se especifican ambas máquinas virtuales, solo se realizarán correctamente las conexiones a la réplica principal.

  7. Seleccione Agregar para agregar las máquinas virtuales al grupo de back-end.

  8. Seleccione Guardar para crear el grupo de back-end.

Configuración del sondeo

  1. En Azure Portal, seleccione el equilibrador de carga, seleccione Sondeos de estado y luego seleccione +Agregar.

  2. Establezca el sondeo de estado del agente de escucha de la manera siguiente:

    Configuración Descripción Ejemplo
    Nombre Texto SQLAlwaysOnEndPointProbe
    Protocolo Elija TCP TCP
    Puerto Cualquier puerto no utilizado 59999
    Intervalo La cantidad de tiempo entre los intentos de sondeo, en segundos 5
  3. Seleccione Agregar.

Configuración de las reglas de equilibrio de carga

  1. En Azure Portal, seleccione el equilibrador de carga, seleccione Reglas de equilibrio de carga y, a continuación, seleccione +Agregar.

  2. Establezca las reglas de equilibrio de carga del cliente de escucha de la siguiente manera:

    Configuración Descripción Ejemplo
    Nombre Texto SQLAlwaysOnEndPointListener
    Frontend IP address (Dirección IP de front-end) Elija una dirección Use la dirección que creó al crear el equilibrador de carga.
    Grupo de back-end Elegir el grupo de back-end Seleccione el grupo de back-end que contiene las máquinas virtuales destinadas al equilibrador de carga.
    Protocolo Elija TCP TCP
    Puerto Uso del puerto del agente de escucha de grupo de disponibilidad 1433
    Puerto back-end Este campo no se utiliza cuando una IP flotante está establecida para Direct Server Return 1433
    Sondeo de estado Nombre especificado para el sondeo SQLAlwaysOnEndPointProbe
    Persistencia de la sesión Lista desplegable None
    Tiempo de espera de inactividad Minutos para mantener abierta una conexión TCP 4
    IP flotante (Direct Server Return) Una topología de flujo y un esquema de asignación de direcciones IP Enabled

    Advertencia

    Direct Server Return se establece durante la creación. No puede cambiarlo.

  3. Seleccione Guardar.

Adición de la dirección IP principal del clúster para el clúster de conmutación por error de Windows Server

La dirección IP del clúster de conmutación por error de Windows Server también debe estar en el equilibrador de carga. Si usa Windows Server 2019, omita este proceso, ya que el clúster crea un valor de Nombre de servidor distribuido en lugar del valor de Nombre de red del clúster.

  1. En Azure Portal, vaya al mismo equilibrador de carga de Azure. Seleccione Configuración de IP de front-end y, luego, +Agregar. Use la dirección IP que configuró para el clúster de conmutación por error de Windows Server en los recursos principales del clúster. Establezca la dirección IP como Estática.

  2. En el equilibrador de carga, seleccione Sondeos de estado y, luego, +Agregar.

  3. Establezca el sondeo de estado de la dirección IP principal del clúster para el clúster de conmutación por error de Windows Server de la siguiente manera:

    Configuración Descripción Ejemplo
    Nombre Texto WSFCEndPointProbe
    Protocolo Elija TCP TCP
    Puerto Cualquier puerto no utilizado 58888
    Intervalo La cantidad de tiempo entre los intentos de sondeo, en segundos 5
  4. Seleccione Agregar para configurar el sondeo de estado.

  5. Seleccione Reglas de equilibrio de carga y, a continuación, seleccione +Agregar.

  6. Establezca las reglas de equilibrio de carga para la dirección IP principal del clúster de la siguiente manera:

    Configuración Descripción Ejemplo
    Nombre Texto WSFCEndPoint
    Frontend IP address (Dirección IP de front-end) Elija una dirección Use la dirección que creó al configurar la dirección IP para el clúster de conmutación por error de Windows Server. Es diferente de la dirección IP del cliente de escucha.
    Grupo de back-end Elegir el grupo de back-end Seleccione el grupo de back-end que contiene las máquinas virtuales destinadas al equilibrador de carga.
    Protocolo Elija TCP TCP
    Puerto Use el puerto para la dirección IP del clúster. Se trata de un puerto disponible que no se usa para el puerto de sondeo de escucha. 58888
    Puerto back-end Este campo no se utiliza cuando una IP flotante está establecida para Direct Server Return 58888
    Sondeo Nombre especificado para el sondeo WSFCEndPointProbe
    Persistencia de la sesión Lista desplegable None
    Tiempo de espera de inactividad Minutos para mantener abierta una conexión TCP 4
    IP flotante (Direct Server Return) Una topología de flujo y un esquema de asignación de direcciones IP Enabled

    Advertencia

    Direct Server Return se establece durante la creación. No puede cambiarlo.

  7. Seleccione Aceptar.

Configuración del agente de escucha

El siguiente paso es configurar una escucha de grupo de disponibilidad en el clúster de conmutación por error.

Nota

En este tutorial se muestra cómo crear un único cliente de escucha, con una dirección IP para el equilibrador de carga interno. Para crear clientes de escucha mediante una o varias direcciones IP, consulte Configuración de una o varias escuchas de grupo de disponibilidad Always On.

El agente de escucha del grupo de disponibilidad es un nombre de red y una dirección IP en los que escucha el grupo de disponibilidad de SQL Server. Para crear la escucha de grupo de disponibilidad:

  1. Obtenga el nombre del recurso de red del clúster:

    a. Use RDP para conectarse a la máquina virtual de Azure que hospeda la réplica principal.

    b. Abra el Administrador de clústeres de conmutación por error.

    c. Seleccione el nodo Redes y anote el nombre de red del clúster. Use este nombre en la variable $ClusterNetworkName del script de PowerShell. En la siguiente imagen, el nombre de red del clúster es Cluster Network 1:

    Screenshot that shows a cluster network name in Failover Cluster Manager.

  2. Agregue el punto de acceso cliente El punto de acceso cliente es el nombre de red que las aplicaciones utilizan para conectarse a las bases de datos en un grupo de disponibilidad.

    a. En el Administrador de clúster de conmutación por error, expanda el nombre del clúster y, a continuación, seleccione Roles.

    b. En el panel Roles, haga clic con el botón derecho en el nombre del grupo de disponibilidad y, después, seleccione Agregar recurso>Punto de acceso cliente.

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

    c. En el cuadro Nombre, cree un nombre para este nuevo agente de escucha. Las aplicaciones utilizarán el nombre del nuevo agente de escucha como nombre de red para conectarse a las bases de datos del grupo de disponibilidad de SQL Server.

    d. Para terminar de crear el cliente de escucha, seleccione Siguiente dos veces y, a continuación, seleccione Finalizar. No ponga el cliente de escucha o el recurso en línea en este momento.

  3. Desconecte el rol de clúster del grupo de disponibilidad. En el Administrador de clústeres de conmutación por error, en Roles, haga clic con el botón derecho en el rol y seleccione Detener el rol.

  4. Configure el recurso de IP del grupo de disponibilidad:

    a. Haga clic en la pestaña Recursos y expanda el punto de acceso de cliente que ha creado. El punto de acceso cliente está desconectado.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

    b. Haga clic con el botón derecho en el recurso de IP y, después, seleccione Propiedades. Tenga en cuenta el nombre de la dirección IP y úselo en la variable $IPResourceName en el script de PowerShell.

    c. En Dirección IP, seleccione Dirección IP estática. Establezca la dirección IP como la misma dirección que usó cuando estableció la dirección del equilibrador de carga en Azure Portal.

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  5. Haga que el grupo de disponibilidad de SQL Server dependa del punto de acceso de cliente:

    a. En el Administrador de clústeres de conmutación por error, seleccione Roles y, después, seleccione el grupo de disponibilidad.

    b. En la pestaña Recursos, en Otros recursos, haga clic con el botón derecho en el recurso del grupo de disponibilidad y, después, seleccione Propiedades.

    c. En la pestaña Dependencias, agregue el nombre del punto de acceso de cliente (el cliente de escucha).

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    d. Seleccione Aceptar.

  6. Haga que el punto de acceso de cliente dependa de la dirección IP:

    a. En el Administrador de clústeres de conmutación por error, seleccione Roles y, después, seleccione el grupo de disponibilidad.

    b. En la pestaña Recursos, haga clic con el botón derecho en el punto de acceso de cliente en Nombre del servidor y después seleccione Propiedades.

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    c. Seleccione la pestaña Dependencias. Compruebe que la dirección IP es una dependencia. Si no es así, establezca una dependencia en la dirección IP. Si aparecen varios recursos, compruebe que las direcciones IP tengan dependencias OR y no AND. Después, seleccione Aceptar.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    Sugerencia

    Puede validar que las dependencias estén configuradas correctamente. En el Administrador de clústeres de conmutación por error, vaya a Roles, haga clic con el botón derecho en el grupo de disponibilidad, seleccione Más acciones y, después, seleccione Mostrar informe de dependencias. Cuando las dependencias estén configuradas correctamente, el grupo de disponibilidad depende en el nombre de red y el nombre de red depende de la dirección IP.

  7. Establezca los parámetros de clúster en PowerShell:

    a. Copie el siguiente script de PowerShell en una de las instancias de SQL Server. Actualice las variables para su entorno.

    • $ClusterNetworkName encuentre el nombre en el Administrador de clústeres de conmutación por error seleccionando Redes, haga clic con el botón derecho en la red y después seleccione Propiedades. $ClusterNetworkName está debajo del campo Nombre en la pestaña General.

    • $IPResourceName es el nombre que se asigna al recurso de dirección IP en el Administrador de clústeres de conmutación por error. Puede encontrarlo en el Administrador de clústeres de conmutación por error seleccionando Roles, seleccione el Nombre de AG o FCI de SQL Server, seleccione la pestaña Recursos en Nombre del servidor, haga clic con el botón derecho en el recurso de dirección IP y seleccione Propiedades. El valor correcto está debajo del campo Nombre en la pestaña General.

    • $ListenerILBIP es la dirección IP que creó en Azure Load Balancer para el agente de escucha del grupo de disponibilidad. Busque $ListenerILBIP en el Administrador de clústeres de conmutación por error en la misma página de propiedades que el nombre del recurso del agente de escucha de AG/FCI de SQL Server.

    • $ListenerProbePort es el puerto que configuró en Azure Load Balancer para la escucha de grupo de disponibilidad, como 59999. Cualquier puerto TCP no utilizado es válido.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Ejecute el script de PowerShell en uno de los nodos del clúster para establecer los parámetros del clúster.

    Nota:

    Si las instancias de SQL Server se encuentran en distintas regiones, debe ejecutar el script de PowerShell dos veces. La primera vez, utilice los valores $ListenerILBIP y $ListenerProbePort de la primera región. La segunda vez, utilice los valores $ListenerILBIP y $ListenerProbePort de la segunda región. El nombre de red del clúster y el nombre del recurso IP del clúster también son diferentes para cada región.

  8. Ponga en línea el rol de clúster para el grupo de disponibilidad. En el Administrador de clústeres de conmutación por error, en Roles, haga clic con el botón derecho en el rol y, a continuación, seleccione Iniciar rol.

Si es necesario, repita los pasos anteriores para establecer los parámetros de clúster para la dirección IP del clúster de conmutación por error de Windows Server:

  1. Obtenga el nombre de la dirección IP del clúster de conmutación por error de Windows Server. En el Administrador de clústeres de conmutación por error, en Recursos principales de clúster, busque Nombre del servidor.

  2. Haga clic con el botón derecho en Dirección IP y, a continuación, seleccione Propiedades.

  3. Copie el nombre de la dirección IP que aparece en Nombre. Puede ser Dirección IP del clúster.

  4. Establezca los parámetros de clúster en PowerShell:

    a. Copie el siguiente script de PowerShell en una de las instancias de SQL Server. Actualice las variables para su entorno.

    • $ClusterCoreIP es la dirección IP que creó en el equilibrador de carga de Azure para el recurso del clúster principal del clúster de conmutación por error de Windows Server. Es diferente de la dirección IP de la escucha de grupo de disponibilidad.

    • $ClusterProbePort es el puerto que configuró en el equilibrador de carga de Azure para el sondeo de estado del clúster de conmutación por error de Windows Server. Es diferente del sondeo de la escucha de grupo de disponibilidad.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name.
    $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Ejecute el script de PowerShell en uno de los nodos del clúster para establecer los parámetros del clúster.

Si se configura algún recurso de SQL para usar un puerto entre 49152 y 65536 (el intervalo de puertos dinámico predeterminado para TCP/IP), agregue una exclusión para cada puerto. Estos recursos pueden incluir:

  • Motor de base de datos de SQL Server
  • Escucha de grupo de disponibilidad Always On
  • Sondeo de estado para la instancia del clúster de conmutación por error
  • Punto de conexión de creación de reflejo de la base de datos
  • Recurso de IP principal del clúster

Al agregar una exclusión, impedirá que otros procesos de sistema se asignen dinámicamente al mismo puerto. En este escenario, configure las siguientes exclusiones en todos los nodos del clúster:

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Es importante configurar la exclusión de puertos cuando el puerto no está en uso. De lo contrario, se producirá un error en el comando con un mensaje similar a "El proceso no puede acceder al archivo porque está en uso en otro proceso". Para confirmar que las exclusiones se han configurado correctamente, use el siguiente comando: netsh int ipv4 show excludedportrange tcp.

Advertencia

El puerto del sondeo de estado de la escucha de grupo de disponibilidad debe ser diferente del puerto del sondeo de estado de la dirección IP principal del clúster. En estos ejemplos, el puerto del cliente de escucha es 59999 y el puerto del sondeo del estado de la dirección IP principal del clúster es 58888. Ambos puertos requieren una regla de firewall de "permitir la entrada".

Establecimiento del puerto del cliente de escucha

En SQL Server Management Studio, establezca el puerto del cliente de escucha:

  1. Abra SQL Server Management Studio y conéctese a la réplica principal.

  2. Vaya a Alta disponibilidad de Always On>Grupos de disponibilidad>Escuchas de grupo de disponibilidad.

  3. Haga clic con el botón derecho en el nombre del cliente de escucha que creó en el Administrador de clústeres de conmutación por error y, a continuación, seleccione Propiedades.

  4. En el cuadro Puerto, especifique el número de puerto para el cliente de escucha del grupo de disponibilidad. El valor predeterminado es 1433. Seleccione Aceptar.

Ahora tiene un grupo de disponibilidad para VM con SQL Server en Azure que se ejecuta en modo de Azure Resource Manager.

Comprobación de la conexión con el agente de escucha

Para probar la conexión:

  1. Use RDP para conectarse a una VM con SQL Server que esté en la misma red virtual, pero que no sea propietaria de la réplica, como, por ejemplo, la otra réplica.

  2. Use la utilidad sqlcmd para probar la conexión. Por ejemplo, el siguiente script establece una conexión sqlcmd con la réplica principal por medio del cliente de escucha con autenticación de Windows:

    sqlcmd -S <listenerName> -E
    

    Si el agente de escucha usa un puerto distinto del predeterminado (1433), especifíquelo en la cadena de conexión. Por ejemplo, el siguiente comando se conecta a un cliente de escucha en el puerto 1435:

    sqlcmd -S <listenerName>,1435 -E
    

La utilidad sqlcmd se conecta automáticamente a la instancia de SQL Server que sea la réplica principal actual del grupo de disponibilidad.

Sugerencia

Asegúrese de que el puerto especificado esté abierto en el firewall de ambas VM con SQL Server. En estos dos servidores, es necesario definir una regla de entrada para el puerto TCP. Para obtener más información, consulte Adición o edición de reglas de firewall.

Pasos siguientes

Para obtener más información, consulte: