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


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 = первичная

2 = вторичная

Дополнительные сведения о ролях Группы доступности Always On см. в разделе Обзор групп доступности Always On (SQL Server).
role_desc nvarchar(60) Описание роли, одна из следующих:

RESOLVING

ОСНОВНОЙ

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_NO_QUORUM

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

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

1 : Онлайн. Все присоединенные базы данных имеют состояние базы данных ONLINE (database_state равно 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

РАБОТОСПОСОБНО
connected_state tinyint Независимо от того, подключена ли вторичная реплика к первичной реплике. Возможные значения показаны ниже с их описанием.

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

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

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

DISCONNECTED

ПОДКЛЮЧЕНО
last_connect_error_number int Номер последней возникшей ошибки подключения.
last_connect_error_description nvarchar(1024) Текст сообщения last_connect_error_number.
last_connect_error_timestamp datetime Метка даты и времени, указывающая, когда произошла ошибка last_connect_error_number .

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

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

РАЗРЕШЕНИЕ. Если реплика доступности находится в роли RESOLVING, возможные операционные состояния, как показано в следующей таблице.

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

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

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

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

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

Разрешения

необходимо разрешение VIEW SERVER STATE на сервере.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

См. также

Обзор групп доступности Always On (SQL Server)
Отслеживание групп доступности (Transact-SQL)