Compartilhar via


sys.dm_hadr_availability_replica_states (Transact-SQL)

Aplica-se:SQL Server

Retorna uma linha para cada réplica local e uma linha para cada réplica remota no mesmo grupo de disponibilidade Always On que uma réplica local. Cada linha contém informações sobre o estado de uma determinada réplica.

Importante

Para obter informações sobre cada réplica em um determinado grupo de disponibilidade, consulte sys.dm_hadr_availability_replica_states a instância do servidor que hospeda a réplica primária. Quando você consulta essa exibição de gerenciamento dinâmico em uma instância de servidor que hospeda uma réplica secundária de um grupo de disponibilidade, ela retorna apenas informações locais para o grupo de disponibilidade.

Nome da coluna Tipo de dados Anulável Descrição
replica_id uniqueidentifier Não Identificador exclusivo da réplica.
group_id uniqueidentifier Não Identificador exclusivo do grupo de disponibilidade.
is_local bit Não Se a réplica é local, uma das seguintes opções:

0 = Indica uma réplica secundária remota em um grupo de disponibilidade cuja réplica primária é hospedada pela instância do servidor local. Esse valor ocorre apenas no local da réplica primária.

1 = Indica uma réplica local. Em réplicas secundárias, esse é o único valor disponível para o grupo de disponibilidade ao qual a réplica pertence.
role tinyint Yes Função atual de grupos de disponibilidade AlwaysOn de uma réplica local ou de uma réplica remota conectada, uma das seguintes:

0 = Resolvendo
1 = Primário
2 = Secundário

Para obter informações sobre as funções de grupos de disponibilidade Always On, consulte o que é um grupo de disponibilidade AlwaysOn?
role_desc nvarchar(60) Yes Descrição de role, um dos seguintes:

RESOLVING
PRIMARY
SECONDARY
operational_state tinyint Yes Estado operacional atual da réplica, um dos seguintes:

0 = Failover pendente
1 = Pendente
2 = Online Brasil
3 = Off-line
4 = Falha
5 = Falha, sem quorum
NULL = A réplica não é local.

Para obter mais informações, consulte Funções e Estados Operacionais, mais adiante neste artigo.
operational_state_desc nvarchar(60) Yes Descrição de operational_state, um dos seguintes:

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL
connected_state tinyint Yes Se uma réplica secundária está conectada à réplica primária no momento. Os valores possíveis são mostrados abaixo com suas descrições.

0 = Desconectado. A resposta de uma réplica de disponibilidade ao DISCONNECTED estado depende de sua função: na réplica primária, se uma réplica secundária estiver desconectada, seus bancos de dados secundários serão marcados como NOT SYNCHRONIZED na réplica primária, que aguarda a reconexão secundária; Em uma réplica secundária, ao detectar que está desconectada, a réplica secundária tenta se reconectar à réplica primária.

1 = Conectado.

Cada réplica primária acompanha o estado da conexão para cada réplica secundária no mesmo grupo de disponibilidade. As réplicas secundárias acompanham o estado da conexão apenas da réplica primária.
connected_state_desc nvarchar(60) Yes Descrição de connection_state, um dos seguintes:

DISCONNECTED
CONNECTED
recovery_health tinyint Yes Rollup da database_state coluna do modo de exibição de gerenciamento dinâmico sys.dm_hadr_database_replica_states . Confira a seguir os valores possíveis e suas descrições.

0 = Em andamento. Pelo menos um banco de dados ingressado tem um estado de ONLINE banco de dados diferente de (database_state não 0é).

1 = Online. Todos os bancos de dados ingressados têm um estado de banco de dados de ONLINE (database_state é 0).

NULL: is_local = 0
recovery_health_desc nvarchar(60) Yes Descrição de recovery_health, um dos seguintes:

ONLINE_IN_PROGRESS
ONLINE
NULL
synchronization_health tinyint Yes Reflete um rollup do estado de sincronização de banco de dados (synchronization_state) de todos os bancos de dados de disponibilidade unidos (também conhecidos como réplicas) e o modo de disponibilidade da réplica (modo de confirmação síncrona ou de confirmação assíncrona). O pacote cumulativo refletirá o estado acumulado menos íntegro dos bancos de dados na réplica. Abaixo estão os valores possíveis e suas descrições.

0 = Não saudável. Pelo menos um banco de dados ingressado está no NOT SYNCHRONIZING estado.

1 = Parcialmente saudável. Algumas réplicas não estão no estado de sincronização de destino: as réplicas de confirmação síncrona devem ser sincronizadas e as réplicas de confirmação assíncronas devem ser sincronizadas.

2 = Saudável. Todas as réplicas estão no estado de sincronização designado: as réplicas de confirmação síncrona estão sincronizadas e as réplicas de confirmação assíncrona estão sincronizando.
synchronization_health_desc nvarchar(60) Yes Descrição de synchronization_health, um dos seguintes:

NOT_HEALTHY
PARTIALLY_HEALTHY
HEALTHY
last_connect_error_number int Yes O número do último erro de conexão.
last_connect_error_description nvarchar(1024) Yes Texto da last_connect_error_number mensagem.
last_connect_error_timestamp datetime Yes Carimbo de data e hora que indica quando o last_connect_error_number erro ocorreu.
write_lease_remaining_ticks bigint Yes Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
current_configuration_commit_start_time_utc datetime Yes Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
is_internal bit Yes Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
operational_state_desc nvarchar(60) Yes Descrição de operational_state, um dos seguintes:

PENDING_FAILOVER
PENDING
ONLINE
OFFLINE
FAILED
FAILED_NO_QUORUM
NULL
recovery_health tinyint Yes Rollup da database_state coluna do modo de exibição de gerenciamento dinâmico sys.dm_hadr_database_replica_states . Confira a seguir os valores possíveis e suas descrições.

0 = Em andamento. Pelo menos um banco de dados ingressado tem um estado de ONLINE banco de dados diferente de (database_state não 0é).

1 = Online. Todos os bancos de dados ingressados têm um estado de banco de dados de ONLINE (database_state é 0).

NULL: is_local não é 0
synchronization_health tinyint Não Reflete um rollup do estado de sincronização de banco de dados (synchronization_state) de todos os bancos de dados de disponibilidade unidos (também conhecidos como réplicas) e o modo de disponibilidade da réplica (modo de confirmação síncrona ou de confirmação assíncrona). O rollup reflete o estado acumulado menos íntegro que os bancos de dados na réplica. Os valores possíveis e suas descrições são:

0 = Não saudável. Pelo menos um banco de dados ingressado está no NOT SYNCHRONIZING estado.

1 = Parcialmente saudável. Algumas réplicas não estão no estado de sincronização de destino: as réplicas de confirmação síncrona devem ser sincronizadas e as réplicas de confirmação assíncronas devem ser sincronizadas.

2 = Saudável. Todas as réplicas estão no estado de sincronização designado: as réplicas de confirmação síncrona estão sincronizadas e as réplicas de confirmação assíncrona estão sincronizando.

Funções e estados operacionais

A função reflete roleo estado de uma determinada réplica de disponibilidade. O estado operational_stateoperacional descreve se a réplica está pronta para processar solicitações de cliente para todos os bancos de dados da réplica de disponibilidade. A tabela a seguir resume os estados operacionais possíveis para cada função: RESOLVING, PRIMARYe SECONDARY.

RESOLVING: quando uma réplica de disponibilidade está na RESOLVING função, os estados operacionais possíveis são mostrados na tabela a seguir.

Estado operacional Descrição
PENDING_FAILOVER O sistema está processando um comando de failover para o grupo de disponibilidade.
OFFLINE Todos os dados de configuração da réplica de disponibilidade são atualizados no cluster WSFC e, também, em metadados locais, mas o grupo de disponibilidade atualmente não tem uma réplica primária.
FAILED Ocorreu uma falha de leitura durante uma tentativa de recuperar informações do cluster WSFC.
FAILED_NO_QUORUM O nó WSFC local não tem quorum. Esse estado é inferido.

PRIMARY: quando uma réplica de disponibilidade executa a PRIMARY função, ela é atualmente a réplica primária. Os possíveis estados operacionais são mostrados na tabela a seguir.

Estado operacional Descrição
PENDING Esse estado é transitório, mas uma réplica primária pode ficar presa nesse estado se os trabalhadores não estiverem disponíveis para processar solicitações.
ONLINE O recurso de grupo de disponibilidade está online, e todos os threads de trabalho do banco de dados foram coletados.
FAILED A réplica de disponibilidade não pode ler ou gravar no cluster WSFC.

SECONDARY: quando uma réplica de disponibilidade executa a SECONDARY função, ela é atualmente uma réplica secundária. Os possíveis estados operacionais são mostrados na tabela abaixo.

Estado operacional Descrição
ONLINE A réplica secundária local está conectada à réplica primária.
FAILED A réplica secundária local não pode ler ou gravar no cluster WSFC.
NULL Em uma réplica primária, esse valor é retornado quando a linha está relacionada a uma réplica secundária.

Permissões

O SQL Server 2019 (15.x) e versões anteriores exigem VIEW SERVER STATE permissão no servidor.

O SQL Server 2022 (16.x) e versões posteriores exigem VIEW SERVER PERFORMANCE STATE permissão no servidor.