sys.dm_hadr_availability_replica_states (Transact-SQL)

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

Важное примечаниеВажно!

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

Имя столбца

Тип данных

Описание

replica_id

uniqueidentifier

Уникальный идентификатор реплики доступности.

group_id

uniqueidentifier

Уникальный идентификатор группы доступности.

is_local

bit

Является ли реплика доступности локальной. Одно из следующих значений:

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

1 = обозначает локальную реплику доступности. Во вторичных репликах это единственное доступное значение для группы доступности, к которой принадлежит реплика.

role

tinyint

Текущая роль Группы доступности AlwaysOn локальной реплики доступности или подключенной удаленной реплики доступности. Может принимать следующие значения:

0 = разрешается

1 = первичная

2 = вторичная

Сведения о ролях служб Группы доступности AlwaysOn см. в разделе Обзор групп доступности AlwaysOn (SQL Server).

role_desc

nvarchar(60)

Описание role. Может принимать одно из следующих значений:

RESOLVING

PRIMARY

SECONDARY

operational_state

tinyint

Текущее состояние работоспособности реплики доступности. Одно из следующих значений:

0 = ожидание отработки отказа

1 = Ожидает согласования

2 = в сети

3 = вне сети

4 = ошибка

5 = ошибка, нет кворума

NULL = реплика не является локальной

Дополнительные сведения см. в подразделе Роли и состояния работоспособности далее в этом разделе.

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 (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

HEALTHY

connected_state

tinyint

Подключена ли в настоящее время вторичная реплика к первичной реплике. Одно из следующих значений:

Значение

Описание

0

отключен. Ответ реплики доступности на состояние DISCONNECTED зависит от роли реплик и описывается ниже.

  • Если какая-то вторичная реплика отключена, то ее базы данных-получатели помечаются как несинхронизированные (NOT SYNCHRONIZED) на первичной реплике, и первичная реплика ждет, пока вторичная реплика вновь подключится.

  • Вторичная реплика попытается вновь подключиться к первичной, как только обнаружит отсутствие связи.

1

Соединен.

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

connected_state_desc

nvarchar(60)

Описание connection_state. Возможно одно из следующих значений:

DISCONNECTED

CONNECTED

last_connect_error_number

int

Номер последней возникшей ошибки подключения.

last_connect_error_description

nvarchar(1024)

Текст сообщения об ошибке last_connect_error_number.

last_connect_error_timestamp

datetime

Отметка даты и времени, указывающая момент возникновения ошибки last_connect_error_number.

Роли и состояния работоспособности

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

Роль

Значение состояний работоспособности для каждой из ролей

RESOLVING

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

Состояние работоспособности

Описание

PENDING_FAILOVER

Обрабатывается команда отработки отказа (FAILOVER) для группы доступности.

OFFLINE

Все данные конфигурации для реплики доступности были обновлены на кластере WSFC и в локальных метаданных, но в настоящее время в группе доступности отсутствует первичная реплика.

FAILED

При попытке получить информацию из кластера WSFC возникла ошибка чтения.

FAILED_NO_QUORUM

На локальном узле WSFC нет кворума. Это выведенное состояние.

PRIMARY

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

Состояние работоспособности

Описание

PENDING

Это переходное состояние, но первичная реплика может «застрять» в этом состоянии при отсутствии рабочих потоков для обработки запросов.

ONLINE

Ресурс группы доступности находится в сети, и все рабочие потоки базы данных задействованы.

FAILED

Реплика доступности не может выполнять операции чтения или записи в кластере WSFC.

SECONDARY

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

Состояние работоспособности

Описание

ONLINE

Локальная вторичная реплика подключена к первичной реплике.

FAILED

Локальная вторичная реплика не может выполнять операции чтения или записи в кластере WSFC.

NULL

В первичной реплике это значение возвращается в том случае, когда строка относится к вторичной реплике.

Безопасность

Разрешения

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

См. также

Основные понятия

Обзор групп доступности AlwaysOn (SQL Server)

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