SQL Server 2012 (11.0.5058.0) Enterprise Edition
Temos 8 grupos de disponibilidade em um cluster 2 (HA) +1 (DR) e nossas DMVs de monitoramento estão relatando resultados que me confundem. 6 Grupos de disponibilidade são configurados para HA e DR, 1 está configurado apenas para HA e 1 está configurado apenas para DR.
Cada um dos 6 grupos de disponibilidade de HA / DR possui "SQLB" como primário e "SQLA" como réplica secundária de HA (síncrona) e "SQLC" como réplica secundária (assíncrona).
Nos dois secundários:
SELECT dhags.group_id, dhags.synchronization_health_desc
FROM sys.dm_hadr_availability_group_states dhags
relata que toda a integridade da sincronização de replicação do Grupo de Disponibilidade é NOT_HEALTHY
e
select replica_id,synchronization_health_desc
from sys.dm_hadr_availability_replica_states
relata que todas as réplicas têm uma integridade de sincronização HEALTHY
.
A réplica primária relata todos os grupos de disponibilidade e réplicas com uma integridade de sincronização HEALTHY
.
Embora eu entenda que um relata a integridade da sincronização de réplicas e o outro relata a integridade da sincronização de AG, parece-me lógico que se o estado mais granular (AG) não fosse íntegro, isso afetaria a integridade geral do contexto mais amplo (réplica) . Não consigo encontrar a documentação do MSDN que descreve como a saúde é determinada em cada nível.
Por que os secundários NOT_HEALTHY
relatariam a integridade da sincronização do Grupo de Disponibilidade, mas HEALTHY
a integridade da sincronização de réplica, e por que isso difere do relatório da primária?
NOT_HEALTHY
nas réplicas SYNC e ASYNC.
NOT_HEALTHY
apenas na réplica secundária do ASYNC?