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)