Conmutación automática por error del grupo de disponibilidad
Este monitor comprueba si el grupo de disponibilidad tiene al menos una réplica secundaria que esté lista para la conmutación por error. El monitor pasa a un estado incorrecto y se registra una alerta cuando el modo de conmutación por error de la réplica principal es automático, pero ninguna de las réplicas secundarias del grupo de disponibilidad está lista para la conmutación automática por error. El monitor está en buen estado cuando al menos una réplica secundaria está lista para la conmutación automática por error.
El grupo de disponibilidad no está listo para la conmutación automática por error. La réplica principal está configurada para la conmutación automática por error; en cambio, la réplica secundaria no está lista para la conmutación automática por error. Puede que la réplica secundaria que está configurada para la conmutación automática por error no esté disponible o que su estado de sincronización de datos no sea actualmente SYNCHRONIZED.
Compruebe si al menos una réplica secundaria está configurada como conmutación automática por error. En caso contrario, actualice la configuración de una réplica secundaria de forma que sea el destino de la conmutación automática por error con confirmación sincrónica.
Compruebe si el estado de sincronización de datos de la réplica de destino de conmutación automática por error es SYNCHRONIZED a través de su monitor y resuelva el problema en la réplica de disponibilidad.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Genera alertas. | Define si el flujo de trabajo genera una alerta. | No |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 900 |
Hora de sincronización | Hora de sincronización especificada en un formato de 24 horas. Se puede omitir. |
|
Tiempo de espera (segundos) | Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo. | 300 |
Tiempo de expiración de la conexión de base de datos (segundos) | Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado. | 15 |
Target | Microsoft.SQLServer.Linux.AvailabilityGroupHealth |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.AlwaysOnSystemPolicy |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.AvailabilityGroupHealth.AutomaticFailoverReadiness" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.AvailabilityGroupHealth" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.AlwaysOnSystemPolicy" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<PolicyName>AlwaysOnAgAutomaticFailoverHealthPolicy</PolicyName>
<BagKey>1-$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityGroupHealth"]/AvailabilityGroupName$</BagKey>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>