Почему эти два HADR DMV сообщают о разных состояниях?

8

SQL Server 2012 (11.0.5058.0) Enterprise Edition

У нас есть 8 групп доступности в кластере 2 (HA) +1 (DR), и наши DMV мониторинга сообщают о результатах, которые меня смущают. 6 Группы доступности настроены для HA и DR, 1 настроен только для HA, а 1 настроен только для DR.

Каждая из 6 групп доступности HA / DR имеет «SQLB» в качестве основного и «SQLA» в качестве вторичной (синхронной) реплики HA и «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.

Хотя я понимаю, что в одном сообщается о работоспособности синхронизации реплики, а в других - о работоспособности синхронизации AG, мне кажется логичным, что если бы более детализированное (AG) состояние было не работоспособным, это могло бы повлиять на общее состояние более широкого контекста (реплики). , Я не могу найти документацию MSDN, которая описывает, как здоровье определяется на каждом уровне.

Почему подчиненные должны сообщать NOT_HEALTHYо работоспособности синхронизации группы доступности, но HEALTHYо работоспособности синхронизации реплики, и почему это отличается от отчета первичного сервера?

swasheck
источник
Можете ли вы подтвердить, что вы видите только NOT_HEALTHYна вторичной реплике ASYNC?
Кин Шах
Я вижу NOT_HEALTHYна репликах SYNC и ASYNC.
swasheck

Ответы:

5

К сожалению, состояния sys.dm_hadr_availability_replica не являются надежным индикатором работоспособности реплик. Вот элемент Connect для одной из ошибок, с которыми мы столкнулись, когда DMV перестает обновляться. Обратите внимание, что в комментариях log_send_queue_size в DMV sys.dm_hadr_database_replica_states показывает 0, даже если есть данные журнала, которые нужно отправить.

Обратите внимание, что пункт «Подключить» помечен как «Не исправить». Грустный тромбон.

Брент Озар
источник
Ссылка переходит на страницу с сообщением о том, что MS Connect удалился. Это Q & A был 2015. Это четыре года спустя. Я здесь, потому что вижу то же самое, что и ОП. Я предполагаю, что они имели в виду, что "не исправят". Это немного отстойно. С другой стороны - кто-нибудь знает хороший сценарий для сообщения о состоянии и конфигурации AG, от группы к реплике и уровня синхронизации базы данных?
youcantryreachingme
PS. Для меня sys.dm_hadr_availability_group_states.synchronization_health_desc(что я понимаю, это отчеты о состоянии здоровья всей группы) отчеты NOT_HEALTHYо вторичных, но HEALTHYо первичных (3 реплики). Документы описывают столбец как «сводный список synization_health всех реплик доступности в группе доступности». Это показывает несоответствие в системе, даже не смотря на sys.dm_hadr_availability_replica_states (который, предположительно, откуда данные свертываются).
youcantryreachingme
@youcantryreachingme это другой вопрос - лучше всего начинать новый вопрос.
Брент Озар