Sincronização de Dados da Réplica de Disponibilidade

Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplicaDataSynchronizationHealth (UnitMonitor)

Este monitor acumula o estado de sincronização de dados de todas as réplicas de banco de dados na réplica de disponibilidade. O monitor estará em estado não íntegro quando alguma réplica de banco de dados não estiver no estado de sincronização de dados esperado. Caso contrário, o monitor será íntegro.

Knowledge Base article:

Resumo

Este monitor acumula o estado de sincronização de dados de todas as réplicas de banco de dados na réplica de disponibilidade. O monitor estará em estado não íntegro quando alguma réplica de banco de dados não estiver no estado de sincronização de dados esperado. Caso contrário, o monitor será íntegro.

Causas

No mínimo um banco de dados de disponibilidade nesta réplica de disponibilidade tem um estado de sincronização de dados não íntegro. Se essa for uma réplica de disponibilidade de confirmação de sincronização, todos os bancos de dados de disponibilidade devem estar no estado SYNCHRONIZING. Se for uma réplica de disponibilidade da confirmação síncrona, todos os bancos de dados de disponibilidade deverão estar no estado SYNCHRONIZED.

Resoluções

Localize a réplica de banco de dados com estado de sincronização de dados não íntegro usando o monitor da réplica de banco de dados e resolva o problema na réplica de banco de dados.

Parâmetros Substituíveis

Nome

Descrição

Valor padrão

Habilitado

 

Sim

Gerar Alertas

 

Não

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho.

900

Tempo Limite (segundos)

Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha.

300

Element properties:

TargetMicrosoft.SQLServer.2014.AlwaysOn.AvailabilityReplica
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.2014.AlwaysOn.SystemPolicyScriptMonitorType
RemotableTrue
AccessibilityPublic
RunAsMicrosoft.SQLServer.2014.AlwaysOn.MonitoringAccount

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplicaDataSynchronizationHealth" RunAs="Microsoft.SQLServer.2014.AlwaysOn.MonitoringAccount" TypeID="Microsoft.SQLServer.2014.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplica" Priority="Normal">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<Interval>900</Interval>
<TimeoutSeconds>300</TimeoutSeconds>
<PolicyName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplica"]/AvailabilityGroupName$-$Target/Property[Type="System!System.Entity"]/DisplayName$-AlwaysOnArDataSynchronizationHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="System!System.Entity"]/DisplayName$</InstanceName>
</Configuration>
</UnitMonitor>