Habilitación o deshabilitación de la característica Grupos de disponibilidad Always On

Se aplica a: SQL Server

Habilitar Grupos de disponibilidad Always On es un requisito previo para que una instancia de servidor use grupos de disponibilidad. Para poder crear y configurar un grupo de disponibilidad, la característica de Grupos de disponibilidad Always On debe estar habilitada en cada una de las instancias de SQL Server que hospedará una réplica de disponibilidad para uno o varios grupos de disponibilidad.

Importante

Si elimina y vuelve a crear un clúster WSFC, tendrá que deshabilitar y volver a habilitar la característica de Grupos de disponibilidad Always On en cada instancia de SQL Server que haya hospedado una réplica de disponibilidad en el clúster WSFC original.

Requisitos previos

  • Antes de SQL Server 2017 (y Windows Server 2016), para habilitar la característica Grupos de disponibilidad Always On, la instancia debía estar en un nodo de un clúster de conmutación por error de Windows Server (WSFC). Para admitir grupos de disponibilidad de escalado de lectura, a partir de SQL Server 2017 y Windows Server 2016, es posible habilitar la característica Grupos de disponibilidad incluso si la instancia de SQL Server no reside en un clúster de conmutación por error de Windows Server.

  • La instancia del servidor debe ejecutar una edición de SQL Server que admita Grupos de disponibilidad AlwaysOn. Para obtener más información, vea Características compatibles con las ediciones de SQL Server 2016.

  • Habilite los grupos de disponibilidad AlwaysOn solo en una instancia del servidor cada vez. Después de habilitar Grupos de disponibilidad Always On, espere hasta que se haya reiniciado el servicio de SQL Server antes de seguir con otra instancia del servidor.

Para obtener información sobre los requisitos previos adicionales para crear y configurar los grupos de disponibilidad, consulte Requisitos previos, restricciones y recomendaciones para Grupos de disponibilidad Always On (SQL Server).

Permisos

Mientras Grupos de disponibilidad Always On esté habilitado en una instancia de SQL Server, la instancia del servidor tiene control total del clúster de WSFC.

Requiere la pertenencia al grupo Administrador en el equipo local y control total del clúster de WSFC. Cuando habilite AlwaysOn mediante PowerShell, abra la ventana del símbolo del sistema mediante la opción Ejecutar como administrador .

Requiere permisos para crear y administrar objetos de Active Directory.

Determinación de si la característica está habilitada

Uso de SQL Server Management Studio

Para determinar si los grupos de disponibilidad AlwaysOn están habilitados

  1. En el Explorador de objetos, haga clic con el botón derecho en la instancia del servidor y haga clic en Propiedades.

  2. En el cuadro de diálogo Propiedades del servidor , haga clic en la página General . La propiedad Habilitado para HADR muestra uno de los valores siguientes:

    • True, si los grupos de disponibilidad AlwaysOn están habilitados.

    • False, si los grupos de disponibilidad AlwaysOn están deshabilitados.

Usar Transact-SQL

Para determinar si los grupos de disponibilidad AlwaysOn están habilitados

  1. Use la siguiente instrucción SERVERPROPERTY :

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    El valor de la propiedad del servidor IsHadrEnabled indica si una instancia de SQL Server está habilitada para Grupos de disponibilidad Always On como se explica a continuación:

    • Si IsHadrEnabled = 1, los grupos de disponibilidad AlwaysOn están habilitados.

    • Si IsHadrEnabled = 0, los grupos de disponibilidad AlwaysOn están deshabilitados.

    Nota

    Para obtener más información sobre la propiedad del servidor IsHadrEnabled, consulte SERVERPROPERTY (Transact-SQL).

Usar PowerShell

Para determinar si los grupos de disponibilidad AlwaysOn están habilitados

  1. Establezca como predeterminada (cd) la instancia del servidor en la que quiere determinar si Grupos de disponibilidad Always On está habilitada.

  2. Escriba el siguiente comando Get-Item de PowerShell:

    PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled  
    

    Nota

    Para ver la sintaxis de un cmdlet, use el cmdlet Get-Help en el entorno de SQL Server PowerShell. Para más información, consulte Get Help SQL Server PowerShell.

Para configurar y usar el proveedor de SQL Server PowerShell

Habilitación de la característica

Para habilitar AlwaysOn, mediante:

Usar el Administrador de configuración de SQL Server

Para habilitar los grupos de disponibilidad AlwaysOn

  1. Conéctese al nodo del clúster de conmutación por error de Windows Server (WSFC) que hospeda la instancia de SQL Server donde quiere habilitar Grupos de disponibilidad Always On.

  2. En el menú Inicio, seleccione Todos los programas, Microsoft SQL Server, Herramientas de configuración y haga clic en Administrador de configuración de SQL Server.

  3. En el Administrador de configuración de SQL Server, haga clic en Servicios de SQL Server, haga clic con el botón derecho en SQL Server (<nombre de la instancia>), donde el <nombre de instancia> es el nombre de una instancia del servidor local para la que quiere habilitar Grupos de disponibilidad Always On, y haga clic en Propiedades.

  4. Seleccione la pestaña Alta disponibilidad de AlwaysOn.

  5. Compruebe que el campo Nombre del clúster de conmutación por error de Windows contiene el nombre del clúster de conmutación por error local. Si el campo está en blanco, esta instancia de servidor no admite Grupos de disponibilidad Always On. Puede ser que el equipo local no sea un nodo de clúster, que se haya apagado el clúster de WSFC o que esta edición de SQL Server no admita Grupos de disponibilidad Always On.

  6. Active la casilla Habilitar los grupos de disponibilidad AlwaysOn y haga clic en Aceptar.

    SQL Server guarda el cambio. A continuación, debe reiniciarse manualmente el servicio SQL Server . Esto le permite elegir una hora de reinicio que sea la mejor para sus requisitos empresariales. Al reiniciar el servicio de SQL Server, Always On estará habilitado y la propiedad del servidor IsHadrEnabled se establecerá en 1.

Usar SQL Server PowerShell

Para habilitar AlwaysOn

  1. Cambie el directorio (cd) a una instancia del servidor que quiera habilitar para los grupos de disponibilidad AlwaysOn.

  2. Use el cmdlet Enable-SqlAlwaysOn para habilitar los grupos de disponibilidad AlwaysOn.

    Para ver la sintaxis de un cmdlet, use el cmdlet Get-Help en el entorno de SQL Server PowerShell. Para más información, consulte Get Help SQL Server PowerShell.

    Nota

    Para obtener información sobre cómo controlar si el cmdlet Enable-SqlAlwaysOn reinicia el servicio de SQL Server, consulte ¿Cuándo reinicia un cmdlet el servicio de SQL Server?, más adelante en este tema.

Para configurar y usar el proveedor de SQL Server PowerShell

Ejemplo: Enable-SqlAlwaysOn

El comando siguiente de PowerShell habilita Grupos de disponibilidad Always On en una instancia de SQL Server (Equipo\Instancia).

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

Deshabilitación de la característica

Importante

Deshabilite AlwaysOn solamente en una instancia del servidor cada vez. Después de habilitar Grupos de disponibilidad Always On, espere hasta que se haya reiniciado el servicio de SQL Server antes de seguir con otra instancia del servidor.

Recomendaciones

Antes de deshabilitar AlwaysOn en una instancia de servidor, se recomienda realizar lo siguiente:

  1. Si la instancia de servidor hospeda actualmente la réplica principal de un grupo de disponibilidad que desea conservar, se recomienda realizar una conmutación por error manual del grupo de disponibilidad a una réplica secundaria sincronizada, si es posible. Para obtener más información, consulte Realizar una conmutación por error manual planeada de un grupo de disponibilidad (SQL Server).

  2. Quite todas las réplicas secundarias locales. Para obtener más información, consulte Quitar una réplica secundaria de un grupo de disponibilidad (SQL Server).

Usar el Administrador de configuración de SQL Server

Para deshabilitar AlwaysOn

  1. Conéctese al nodo del clúster de conmutación por error de Windows Server (WSFC) que hospeda la instancia de SQL Server donde quiere deshabilitar Grupos de disponibilidad Always On.

  2. En el menú Inicio, apunte a Todos los programas, Microsoft SQL Server, Herramientas de configuración y haga clic en Administrador de configuración de SQL Server.

  3. En el Administrador de configuración de SQL Server, haga clic en Servicios de SQL Server, haga clic con el botón derecho en SQL Server (<nombre de instancia>), donde <nombre de instancia> es el nombre de una instancia del servidor local para la que quiera deshabilitar Grupos de disponibilidad Always On, y haga clic en Propiedades.

  4. En la pestaña Alta disponibilidad de AlwaysOn, desactive la casilla Habilitar los grupos de disponibilidad AlwaysOn y haga clic en Aceptar.

    El Administrador de configuración de SQL Server guarda los cambios y reinicia el servicio de SQL Server. Cuando se reinicia el servicio de SQL Server, Always On estará deshabilitado y la propiedad del servidor IsHadrEnabled estará establecida en 0 para indicar que Grupos de disponibilidad Always On está deshabilitada.

  5. Se recomienda leer la información de Seguimiento: después de deshabilitar Always On, más adelante en este tema.

Usar SQL Server PowerShell

Para deshabilitar AlwaysOn

  1. Cambie el directorio (cd) a una instancia del servidor habilitada actualmente que quiera deshabilitar para los grupos de disponibilidad AlwaysOn.

  2. Use el cmdlet Disable-SqlAlwaysOn para habilitar los grupos de disponibilidad AlwaysOn.

    Por ejemplo, el siguiente comando deshabilita los grupos de disponibilidad AlwaysOn en una instancia de SQL Server (Computer\Instance). Este comando requiere reiniciar la instancia y le pedirá que confirme este reinicio.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    Importante

    Para obtener información sobre cómo controlar si el cmdlet Disable-SqlAlwaysOn reinicia el servicio de SQL Server, consulte ¿Cuándo reinicia un cmdlet el servicio SQL Server?, más adelante en este tema.

    Para ver la sintaxis de un cmdlet, use el cmdlet Get-Help en el entorno de SQL Server PowerShell. Para más información, consulte Get Help SQL Server PowerShell.

Para configurar y usar el proveedor de SQL Server PowerShell

Seguimiento: Después de deshabilitar AlwaysOn

Después de deshabilitar Grupos de disponibilidad Always On, se debe reiniciar la instancia de SQL Server. El Administrador de configuración de SQL reinicia la instancia de servidor automáticamente. Sin embargo, si utilizó el cmdlet Disable-SqlAlwaysOn , tendrá que reiniciar la instancia del servidor manualmente. Para más información, consulte sqlservr Application.

En la instancia del servidor reiniciada:

  • Las bases de datos de disponibilidad no se inician en el arranque de SQL Server, por lo que están inaccesibles.

  • La única instrucción de Transact-SQL compatible con Always On es DROP AVAILABILITY GROUP. Las opciones CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP y SET HADR de ALTER DATABASE no se admiten.

  • Los metadatos de SQL Server y los datos de configuración de Grupos de disponibilidad Always On en WSFC no se ven afectados al deshabilitar los Grupos de disponibilidad Always On.

Si deshabilita de forma permanente los grupos de disponibilidad AlwaysOn en cada instancia de servidor que hospeda una réplica de disponibilidad para uno o varios grupos de disponibilidad, se recomienda completar los pasos siguientes:

  1. Si no ha quitado las réplicas de disponibilidad locales antes de deshabilitar AlwaysOn, elimine (quite) cada grupo de disponibilidad para el que la instancia de servidor hospeda una réplica de disponibilidad. Para obtener información sobre cómo eliminar un grupo de disponibilidad, consulte Quitar un grupo de disponibilidad (SQL Server).

  2. Para quitar los metadatos que quedan atrás, elimine (quite) cada grupo de disponibilidad afectado en una instancia de servidor que forme parte del WSFC original.

  3. Cualquier base de datos principal continúa estando accesible para todas las conexiones, pero se detiene la sincronización de datos entre las bases de datos primaria y secundaria.

  4. Las bases de datos secundarias entran en el estado RESTORING. Puede eliminarlas o restaurarlas mediante RESTORE WITH RECOVERY. Sin embargo, las bases de datos restauradas ya no participarán en la sincronización de datos del grupo de disponibilidad.

¿Cuándo reinicia un cmdlet el servicio SQL Server?

En una instancia del servidor que se esté ejecutando actualmente, el uso de Enable-SqlAlwaysOn o Disable-SqlAlwaysOn para cambiar el valor actual de AlwaysOn podría provocar que se reinicie el servicio SQL Server. El comportamiento de reinicio depende de las condiciones siguientes:

Parámetro -NoServiceRestart especificado Parámetro -Force especificado ¿Se ha reiniciado el servicio de SQL Server?
No No De forma predeterminada. Pero el cmdlet indica lo siguiente:

Para completar esta acción, debemos reiniciar el servicio de SQL Server para la instancia del servidor «<instance_name>». ¿Desea continuar?

[Y] Sí [N] No [S] Suspender [?] Ayuda (valor predeterminado es «Y»):

Si especifica N o S, el servicio no se reinicia.
No El servicio se reinicia.
No El servicio no se reinicia.
El servicio no se reinicia.

Consulte también

Información general de los grupos de disponibilidad AlwaysOn (SQL Server)
SERVERPROPERTY (Transact-SQL)