これら2つのHADR DMVが異なる状態を報告するのはなぜですか?


8

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、レプリカの同期の正常性を報告するのはなぜですか?なぜこれがプライマリの報告と異なるのですか?


NOT_HEALTHYセカンダリASYNCレプリカのみが表示されていることを確認できますか?
Kin Shah

NOT_HEALTHYSYNCレプリカとASYNCレプリカの両方が表示されています。
swasheck 2015

回答:


5

残念ながら、sys.dm_hadr_availability_replicaの状態は、レプリカの状態を示す信頼できる指標ではありません。これは、DMVの更新が停止したときに発生したバグの1つにあるConnectアイテムです。コメントに、送信するログデータがある場合でも、DMV sys.dm_hadr_database_replica_statesのlog_send_queue_sizeが0を示していることに注意してください。

[接続]アイテムが[修正しない]とマークされていることに注意してください。悲しいトロンボーン。


リンクは、MS Connectが廃止されたことを示すページに到達します。このQ&Aは2015年でした。4年後です。OPと同じものが表示されているので、ここにいます。彼らはそれが「修正されない」ことを意味していたと思います。それは少し不自由です。反対に、グループからレプリカ、データベースの同期レベルまで、AGの状態と構成を報告するための優れたスクリプトを知っている人はいますか?
youcantryreachingme

PS。私はsys.dm_hadr_availability_group_states.synchronization_health_desc(グループ全体の状態について報告していると理解しています)NOT_HEALTHY、セカンダリについて報告しますがHEALTHY、プライマリ(3つのレプリカ)について報告します。ドキュメントでは、colを「可用性グループ内のすべての可用性レプリカのSynchronization_Healthのロールアップ」と説明しています。これは、sys.dm_hadr_availability_replica_states(おそらく、データがロールアップされている場所から)を調べなくても、システム内の格差を示しています。
youcantryreachingme

@youcantryreachingmeそれは別の質問です-あなたの最善の策は、新しい質問を始めることです。
ブレントオザー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.