Directiva de conmutación por error flexible para conmutación automática por error de un grupo de disponibilidad (SQL Server)

Una directiva de conmutación por error flexible proporciona mayor control sobre las condiciones que produce una conmutación automática por error para un grupo de disponibilidad. Al cambiar las condiciones de error que activan una conmutación automática por error y la frecuencia de comprobaciones de estado, se puede aumentar o reducir la probabilidad de una conmutación automática por error que sea compatible con su SLA por tener alta disponibilidad.

La directiva flexible de conmutación por error de un grupo de disponibilidad se define por su nivel de condición de error y el umbral de tiempo de espera de comprobación de estado. Al detectar que un grupo de disponibilidad ha superado su nivel de condición de error o su umbral de tiempo de espera de comprobación de estado, la DLL de recursos del grupo de disponibilidad responde a los clústeres de conmutación por error de Windows Server (WSFC). El clúster WSFC entonces inicia una conmutación automática por error a la réplica secundaria.

Nota importanteImportante

Si un grupo de disponibilidad supera su umbral de error de WSFC, el clúster de WSFC no intentará una conmutación automática por error para dicho grupo. Además, el grupo de recursos de WSFC del grupo de disponibilidad permanece en un estado de error hasta que el administrador del clúster conecta manualmente el grupo de recursos con error o el administrador de la base de datos realiza una conmutación por error manual del grupo de disponibilidad. El umbral de error de WSFC se define como el número máximo de errores admitidos para el grupo de disponibilidad en un período de tiempo determinado. El período predeterminado es seis horas, y el valor predeterminado del número máximo de errores durante este período es n-1, donde n es el número de nodos de WSFC. Para cambiar los valores del umbral de error de un grupo de disponibilidad determinado, use la consola del administrador de conmutación por error de WSFC.

Este tema contiene las siguientes secciones:

  • Umbral de tiempo de espera de comprobación de estado

  • Nivel de condición de error

  • Tareas relacionadas

  • Contenido relacionado

Umbral de tiempo de espera de comprobación de estado

La DLL de recursos del clúster WSFC del grupo de disponibilidad realiza una comprobación de estado de la réplica principal, llamando al procedimiento almacenado sp_server_diagnostics en la instancia de SQL Server que hospeda la réplica principal. sp_server_diagnostics devuelve resultados en un intervalo que iguala 1/3 del umbral de tiempo de espera de comprobación de estado del grupo de disponibilidad. El umbral de tiempo de espera de comprobación de estado predeterminado es 30 segundos, lo que hace que sp_server_diagnostics devuelva en un intervalo de 10 segundos. Si sp_server_diagnostics es lento o no devuelve información, la DLL de recursos esperará al intervalo completo del umbral de tiempo de espera de comprobación de estado antes de determinar que la réplica primaria no responde. Si la réplica primaria no responde, se inicia una conmutación automática por error, si se admite actualmente.

Nota importanteImportante

sp_server_diagnostics no realiza comprobaciones de estado en el nivel de base de datos.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Nivel de condición de error

Si sp_server_diagnostics devuelve los datos de diagnóstico y la información de estado, se garantiza que una conmutación automática por error dependa del nivel de condición de error del grupo de disponibilidad. El nivel de condición de error especifica qué condiciones de error desencadenan una conmutación automática por error. Hay cinco niveles de condición de error que abarcan desde el nivel menos restrictivo (nivel uno) al más restrictivo (nivel cinco). Un nivel dado abarca los niveles menos restrictivos. Así pues, el nivel de condición más estricto, cinco, incluye las condiciones menos restrictivas, y así sucesivamente.

Nota importanteImportante

Ningún nivel de condición de error detecta las bases de datos dañadas ni las bases de datos sospechosas. Por tanto, una base de datos que está dañada o es sospechosa (debido a un error de hardware, a daños en los datos o a otro problema) nunca desencadena una conmutación automática por error.

En la tabla siguiente se describen las condiciones de error correspondientes a cada nivel.

Nivel

Condición de error

Valor de Transact-SQL

Valor de PowerShell

Uno

Por inactividad de servidor. Especifica que se inicia una conmutación automática por error en los casos siguientes:

Este es el nivel menos restrictivo.

1

OnServerDown

Dos

Al dejar de responder el servidor. Especifica que se inicia una conmutación automática por error en los casos siguientes:

  • La instancia de SQL Server no se conecta al clúster y se ha superado el umbral de tiempo de espera de comprobación de estado del grupo de disponibilidad definido por el usuario.

  • La réplica de disponibilidad tiene un estado de error.

2

OnServerUnresponsive

Tres  

En errores de servidor críticos. Especifica que se inicia una conmutación automática por error en caso de errores internos de SQL Server graves, como bloqueos por subproceso huérfanos, infracciones serias de acceso de escritura o volcado excesivo.

Es el nivel predeterminado.

3

OnCriticalServerError

Cuatro

En errores de servidor moderados. Especifica que se inicia una conmutación automática por error en caso de errores internos de SQL Server moderados, tales como una condición persistente de falta de memoria en el grupo de recursos de servidor interno de SQL Server.

4

OnModerateServerError

Cinco

En cualquier condición de error apta. Especifica que se inicia una conmutación automática por error en el caso de condiciones de error aptas, incluidas las siguientes:

  • Se han agotado los subprocesos de trabajo del motor de SQL.

  • Detección de un interbloqueo irresoluble.

Es el nivel más restrictivo.

5

OnAnyQualifiedFailureConditions

[!NOTA]

La falta de respuesta de una instancia de SQL Server a solicitudes del cliente no es pertinente a los grupos de disponibilidad.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Tareas relacionadas

Para configurar la conmutación automática por error

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Contenido relacionado

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Vea también

Referencia

sp_server_diagnostics (Transact-SQL)

Conceptos

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

Modos de disponibilidad (grupos de disponibilidad AlwaysOn)

Conmutación por error y modos de conmutación por error (grupos de disponibilidad AlwaysOn)

Clústeres de conmutación por error de Windows Server (WSFC) con SQL Server

Directiva de conmutación por error para instancias de clústeres de conmutación por error