SQL Server 2012(11.0.5058.0)Enterprise Edition
2(HA)+1(DR)クラスターに8つの可用性グループがあり、監視DMVが結果を報告して混乱を招きます。 6つの可用性グループはHAおよびDR用に構成され、1つはHA専用に構成され、1つはDR専用に構成されます。
6つのHA/DR可用性グループのそれぞれには、プライマリとして「SQLB」、セカンダリ(同期)HAレプリカとして「SQLA」、セカンダリ(非同期)レプリカとして「SQLC」があります。
両方のセカンダリで:
SELECT dhags.group_id, dhags.synchronization_health_desc
FROM sys.dm_hadr_availability_group_states dhags
すべての可用性グループレプリケーションの同期状態がNOT_HEALTHY
および
select replica_id,synchronization_health_desc
from sys.dm_hadr_availability_replica_states
すべてのレプリカの同期状態はHEALTHY
であると報告されています。
プライマリレプリカは、HEALTHY
の同期状態を持つすべての可用性グループとレプリカを報告します。
1つはレプリカ同期の正常性に関するレポートで、もう1つはAG同期の正常性に関するレポートであることを理解していますが、より細かい(AG)状態が正常でない場合、より広いコンテキスト(レプリカ)の全体的な正常性に影響を与えることは当然のようです。各レベルでヘルスがどのように決定されるかを説明するMSDNドキュメントが見つかりません。
なぜセカンダリが報告するのかNOT_HEALTHY
は可用性グループの同期の正常性を示しますが、HEALTHY
はレプリカの同期の正常性を示します。なぜこれがプライマリのレポートと異なるのですか?
残念ながら、sys.dm_hadr_availability_replicaの状態は、レプリカの状態を示す信頼できる指標ではありません。 ここに接続項目があります DMVが更新を停止するバグに遭遇しました-DMV sys.dm_hadr_database_replica_statesのlog_send_queue_sizeが、送信されるログデータがある場合でも0を示すというコメントに注意してください。
[接続]アイテムが[修正されない]としてマークされていることに注意してください。悲しいトロンボーン。