SQL Server 2012 (11.0.5058.0) Enterprise Edition
Wir haben 8 Verfügbarkeitsgruppen in einem 2 (HA) + 1 (DR) -Cluster und unsere Überwachungs-DMVs melden Ergebnisse, die mich verwirren. 6 Verfügbarkeitsgruppen sind für HA und DR konfiguriert, 1 ist nur für HA konfiguriert und 1 ist nur für DR konfiguriert.
Jede der 6 HA / DR-Verfügbarkeitsgruppen hat "SQLB" als primäres und "SQLA" als sekundäres (synchrones) HA-Replikat und "SQLC" als sekundäres (asynchrones) Replikat.
Auf beiden Sekundärteilen:
SELECT dhags.group_id, dhags.synchronization_health_desc
FROM sys.dm_hadr_availability_group_states dhags
meldet, dass alle Synchronisierungszustände der Verfügbarkeitsgruppenreplikation NOT_HEALTHYund sind
select replica_id,synchronization_health_desc
from sys.dm_hadr_availability_replica_states
meldet, dass alle Replikate einen Synchronisierungszustand von haben HEALTHY.
Das primäre Replikat meldet alle Verfügbarkeitsgruppen und Replikate mit einem Synchronisierungszustand von HEALTHY.
Obwohl ich verstehe, dass einer über den Zustand der Replikatsynchronisierung und der andere über den Zustand der AG-Synchronisierung berichtet, erscheint es mir logisch, dass wenn der detailliertere Zustand (AG) nicht gesund wäre, dies den Gesamtzustand des breiteren Kontexts (Replikat) beeinträchtigen würde. . Ich kann keine MSDN-Dokumentation finden, die beschreibt, wie der Zustand auf jeder Ebene bestimmt wird.
Warum melden die Secondaries den NOT_HEALTHYSynchronisierungszustand der Verfügbarkeitsgruppe, aber den HEALTHYSynchronisierungszustand der Replikate, und warum unterscheidet sich dieser vom Primärbericht?
NOT_HEALTHYsehe sowohl auf den SYNC- als auch auf den ASYNC-Replikaten.
NOT_HEALTHYauf dem sekundären ASYNC-Replikat sehen?