Поделиться через


sys.dm_hadr_availability_replica_states (Transact-SQL)

Область применения:SQL Server

Возвращает по строке для каждой локальной реплики и каждой удаленной реплики, входящей в ту же группу доступности AlwaysOn, что и локальная реплика. Каждая строка содержит сведения о состоянии конкретной реплики.

Внимание

Чтобы получить сведения о каждой реплике в данной группе доступности, выполните запрос sys.dm_hadr_availability_replica_states к экземпляру сервера, на котором размещена первичная реплика. При запросе динамического административного представления на экземпляре сервера, на котором размещена вторичная реплика группы доступности, она возвращает только локальную информацию для группы доступности.

Имя столбца Тип данных Нуллибельный Description
replica_id uniqueidentifier нет Уникальный идентификатор реплики.
group_id uniqueidentifier нет Уникальный идентификатор группы доступности.
is_local bit нет Указывает, является ли реплика локальной, одной из следующих:

0 = указывает удаленную вторичную реплику в группе доступности, основная реплика которой размещается экземпляром локального сервера. Это значение появляется только в расположении первичной реплики.

1 = указывает локальную реплику. Во вторичных репликах это единственное доступное значение для группы доступности, к которой принадлежит реплика.
role tinyint Да Текущая роль групп доступности AlwaysOn локальной реплики или подключенной удаленной реплики:

0 = разрешение
1 = primary
2 = вторичная

Дополнительные сведения о ролях групп доступности AlwaysOn см. в разделе "Что такое группа доступности AlwaysOn"?
role_desc nvarchar(60) Да Описание одного из следующих вариантов role:

RESOLVING
PRIMARY
SECONDARY
operational_state tinyint Да Текущее рабочее состояние реплики:

0 = ожидание отработки отказа
1 = ожидание
2 = Online
3 = автономный
4 = сбой
5 = не удалось, кворум не
NULL = реплика не является локальной.

Дополнительные сведения см. в разделе "Роли и операционные состояния" далее в этой статье.
operational_state_desc nvarchar(60) Да Описание одного из следующих вариантов operational_state:

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL
connected_state tinyint Да Независимо от того, подключена ли вторичная реплика к первичной реплике. Возможные значения показаны ниже с их описанием.

0 = отключен. Ответ реплики доступности к состоянию зависит от ее роли: в первичной реплике, если вторичная реплика DISCONNECTED отключена, ее базы данных-получатели помечаются как NOT SYNCHRONIZED на первичной реплике, которая ожидает повторного подключения вторичной реплики; При обнаружении отключения вторичной реплики вторичная реплика пытается повторно подключиться к первичной реплике.

1 = подключено.

Каждая первичная реплика отслеживает состояние соединения для всех вторичных реплик в той же группе доступности. Вторичные реплики отслеживают состояние соединения только первичной реплики.
connected_state_desc nvarchar(60) Да Описание одного из следующих вариантов connection_state:

DISCONNECTED
CONNECTED
recovery_health tinyint Да Свертка database_state столбца динамического административного представления sys.dm_hadr_database_replica_states . Ниже приведены возможные значения и их описания.

0 = выполняется. Хотя бы одна присоединенная база данных имеет состояние базы данных, отличное ONLINE от (database_state не 0).

1 = Online. Все присоединенные базы данных имеют состояние ONLINE базы данных (database_state is 0).

NULL: is_local = 0
recovery_health_desc nvarchar(60) Да Описание одного из следующих вариантов recovery_health:

ONLINE_IN_PROGRESS
ONLINE
NULL
synchronization_health tinyint Да Отражает свертки состояния синхронизации базы данных () всех присоединенных баз данных доступности (также известных как реплики) и режима доступности реплики (synchronization_stateрежим синхронной фиксации или асинхронной фиксации). Накопительный пакет будет отражать наименьшее работоспособное состояние баз данных в реплике. Ниже приведены возможные значения и их описания.

0 = нездорово. По крайней мере одна присоединенная база данных находится в NOT SYNCHRONIZING состоянии.

1 = частично работоспособный. Некоторые реплики не относятся к целевому состоянию синхронизации: реплики синхронной фиксации должны быть синхронизированы, а реплики асинхронной фиксации должны быть синхронизированы.

2 = работоспособный. Все реплики находятся в целевом состоянии синхронизации: синхронная фиксация реплики синхронизируются, а реплики асинхронной фиксации синхронизируются.
synchronization_health_desc nvarchar(60) Да Описание одного из следующих вариантов synchronization_health:

NOT_HEALTHY
PARTIALLY_HEALTHY
HEALTHY
last_connect_error_number int Да Номер последней возникшей ошибки подключения.
last_connect_error_description nvarchar(1024) Да last_connect_error_number Текст сообщения.
last_connect_error_timestamp datetime Да Метка даты и времени, указывающая, когда произошла last_connect_error_number ошибка.
write_lease_remaining_ticks bigint Да Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
current_configuration_commit_start_time_utc datetime Да Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
is_internal bit Да Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
operational_state_desc nvarchar(60) Да Описание одного из следующих вариантов operational_state:

PENDING_FAILOVER
PENDING
ONLINE
OFFLINE
FAILED
FAILED_NO_QUORUM
NULL
recovery_health tinyint Да Свертка database_state столбца динамического административного представления sys.dm_hadr_database_replica_states . Ниже приведены возможные значения и их описания.

0 = выполняется. Хотя бы одна присоединенная база данных имеет состояние базы данных, отличное ONLINE от (database_state не 0).

1 = Online. Все присоединенные базы данных имеют состояние ONLINE базы данных (database_state is 0).

NULL: is_local не является 0
synchronization_health tinyint нет Отражает свертки состояния синхронизации базы данных () всех присоединенных баз данных доступности (также известных как реплики) и режима доступности реплики (synchronization_stateрежим синхронной фиксации или асинхронной фиксации). Накопительный пакет отражает наименьшее работоспособное состояние баз данных в реплике. Возможные значения и их описания:

0 = нездорово. По крайней мере одна присоединенная база данных находится в NOT SYNCHRONIZING состоянии.

1 = частично работоспособный. Некоторые реплики не относятся к целевому состоянию синхронизации: реплики синхронной фиксации должны быть синхронизированы, а реплики асинхронной фиксации должны быть синхронизированы.

2 = работоспособный. Все реплики находятся в целевом состоянии синхронизации: синхронная фиксация реплики синхронизируются, а реплики асинхронной фиксации синхронизируются.

Роли и операционные состояния

Роль roleотражает состояние заданной реплики доступности. Рабочее состояние operational_stateописывает, готова ли реплика обрабатывать клиентские запросы ко всем базам данных реплики доступности. В следующей таблице приведены сведения о рабочих состояниях, которые возможны для каждой роли: RESOLVING, PRIMARYи SECONDARY.

RESOLVING: если реплика доступности находится в RESOLVING роли, возможные операционные состояния, как показано в следующей таблице.

Рабочее состояние Description
PENDING_FAILOVER Система обрабатывает команду отработки отказа для группы доступности.
OFFLINE Все данные конфигурации для реплики доступности обновляются в кластере WSFC, а также в локальных метаданных, но в настоящее время группа доступности не имеет первичной реплики.
FAILED Сбой чтения произошел во время попытки получить сведения из кластера WSFC.
FAILED_NO_QUORUM Локальный узел WSFC не имеет кворума. Это состояние выводится.

PRIMARY: когда реплика доступности выполняет PRIMARY роль, она в настоящее время является основной репликой. Возможные операционные состояния, как показано в следующей таблице.

Рабочее состояние Description
PENDING Это временное состояние, но первичная реплика может застрять в этом состоянии, если работники недоступны для обработки запросов.
ONLINE Ресурс группы доступности находится в сети, и все рабочие потоки базы данных задействованы.
FAILED Реплика доступности не может считывать или записывать данные из кластера WSFC.

SECONDARY: когда реплика доступности выполняет SECONDARY роль, она в настоящее время является вторичной репликой. Возможные операционные состояния, как показано в таблице ниже.

Рабочее состояние Description
ONLINE Локальная вторичная реплика подключена к первичной реплике.
FAILED Локальная вторичная реплика не может считывать или записывать данные из кластера WSFC.
NULL В первичной реплике это значение возвращается в том случае, когда строка относится к вторичной реплике.

Разрешения

ДЛЯ SQL Server 2019 (15.x) и более ранних версий требуется VIEW SERVER STATE разрешение на сервере.

ДЛЯ SQL Server 2022 (16.x) и более поздних версий требуется VIEW SERVER PERFORMANCE STATE разрешение на сервере.