Partilhar via


sys.dm_hadr_availability_replica_states (Transact-SQL)

Aplica-se a:SQL Server

Devolve 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ção sobre cada réplica num dado grupo de disponibilidade, consulte sys.dm_hadr_availability_replica_states a instância do servidor que hospeda a réplica principal. Quando consulta esta vista de gestão dinâmica numa instância de servidor que hospeda uma réplica secundária de um grupo de disponibilidade, ela retorna apenas informação local para o grupo de disponibilidade.

Nome da coluna Tipo de dados Anulável Description
replica_id uniqueidentifier Não Identificador único da réplica.
group_id uniqueidentifier Não Identificador único do grupo de disponibilidade.
is_local bit Não Se a réplica é local, um dos seguintes:

0 = Indica uma réplica secundária remota num grupo de disponibilidade cuja réplica principal é alojada pela instância local do servidor. Este valor ocorre apenas na localização principal da réplica.

1 = Indica uma réplica local. Nas réplicas secundárias, este é o único valor disponível para o grupo de disponibilidade ao qual a réplica pertence.
role tinyint Yes O papel atual do grupo de disponibilidade Always On de uma réplica local ou remota ligada, um dos seguintes:

0 = Resolução
1 = Primário
2 = Secundário

Para informações sobre as funções dos grupos de disponibilidade Always On, veja O que é um grupo de disponibilidade Always On?
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 = Em linha
3 = Offline
4 = Falhou
5 = Falhou, sem quórum
NULL = Réplica não é local.

Para mais informações, consulte Papéis 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á atualmente ligada à réplica primária. Os valores possíveis são apresentados abaixo com as suas descrições.

0 = Desligado. A resposta de uma réplica de disponibilidade ao DISCONNECTED estado depende do seu papel: na réplica primária, se uma réplica secundária for desconectada, as suas bases de dados secundárias são marcadas como NOT SYNCHRONIZED na réplica primária, que espera que a réplica secundária se reconecte; Numa réplica secundária, ao detetar que está desconectada, a réplica secundária tenta reconectar-se à réplica primária.

1 = Ligado.

Cada réplica primária acompanha o estado da ligação para cada réplica secundária no mesmo grupo de disponibilidade. As réplicas secundárias acompanham apenas o estado de ligação 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 Enrolamento da database_state coluna da vista de gestão dinâmica sys.dm_hadr_database_replica_states . A seguir estão os valores possíveis e suas descrições.

0 = Em progresso. Pelo menos uma base de dados unida tem um estado de base de dados diferente de ONLINE (database_state não 0é ).

1 = Em linha. Todas as bases de dados unidas têm um estado de base 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 agrupamento do estado de sincronização da base de dados (synchronization_state) de todas as bases de dados de disponibilidade juntas (também conhecidas como réplicas) e do modo de disponibilidade da réplica (modo de commit síncrono ou modo de commit assíncrono). O rollup irá refletir o estado acumulado menos saudável das bases de dados na réplica. Abaixo estão os valores possíveis e as suas descrições.

0 = Não saudável. Pelo menos uma base de dados integrada existe no NOT SYNCHRONIZING estado.

1 = Parcialmente saudável. Algumas réplicas não estão no estado de sincronização alvo: as réplicas de commit síncrono devem estar sincronizadas, e as réplicas de commit assíncrono devem estar sincronizadas.

2 = Saudável. Todas as réplicas estão no estado de sincronização alvo: as réplicas de commit síncrono são sincronizadas e as réplicas de commit assíncrono estão sincronizadas.
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 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 Data e hora indicam quando ocorreu o last_connect_error_number erro.
write_lease_remaining_ticks bigint Yes Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
current_configuration_commit_start_time_utc datetime Yes Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
is_internal bit Yes Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é 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 Enrolamento da database_state coluna da vista de gestão dinâmica sys.dm_hadr_database_replica_states . A seguir estão os valores possíveis e suas descrições.

0 = Em progresso. Pelo menos uma base de dados unida tem um estado de base de dados diferente de ONLINE (database_state não 0é ).

1 = Em linha. Todas as bases de dados unidas têm um estado de base de dados de ONLINE (database_state é 0).

NULL: is_local não é 0
synchronization_health tinyint Não Reflete um agrupamento do estado de sincronização da base de dados (synchronization_state) de todas as bases de dados de disponibilidade juntas (também conhecidas como réplicas) e do modo de disponibilidade da réplica (modo de commit síncrono ou modo de commit assíncrono). O rollup reflete o estado acumulado menos saudável das bases de dados na réplica. Os valores possíveis e as suas descrições são:

0 = Não saudável. Pelo menos uma base de dados integrada existe no NOT SYNCHRONIZING estado.

1 = Parcialmente saudável. Algumas réplicas não estão no estado de sincronização alvo: as réplicas de commit síncrono devem estar sincronizadas, e as réplicas de commit assíncrono devem estar sincronizadas.

2 = Saudável. Todas as réplicas estão no estado de sincronização alvo: as réplicas de commit síncrono são sincronizadas e as réplicas de commit assíncrono estão sincronizadas.

Funções e estados operacionais

O papel, role, reflete o estado de uma dada réplica disponível. O estado operacional, operational_state, descreve se a réplica está pronta para processar pedidos de clientes para todas as bases de dados da réplica de disponibilidade. A tabela seguinte resume os estados operacionais possíveis para cada função: RESOLVING, PRIMARY, e SECONDARY.

RESOLVING: Quando uma réplica de disponibilidade está na RESOLVING função, os possíveis estados operacionais são apresentados na tabela seguinte.

Estado operacional Description
PENDING_FAILOVER O sistema está a processar um comando de failover para o grupo de disponibilidade.
OFFLINE Todos os dados de configuração para a réplica de disponibilidade são atualizados no cluster WSFC e, também, nos metadados locais, mas o grupo de disponibilidade atualmente não possui uma réplica primária.
FAILED Ocorreu uma falha de leitura durante uma tentativa de recuperar informação do cluster WSFC.
FAILED_NO_QUORUM O nó local do WSFC não tem quórum. Este estado é inferido.

PRIMARY: Quando uma réplica de disponibilidade desempenha essa PRIMARY função, é atualmente a réplica principal. Os possíveis estados operacionais são os apresentados na tabela seguinte.

Estado operacional Description
PENDING Este estado é transitório, mas uma réplica primária pode ficar presa neste estado se os trabalhadores não estiverem disponíveis para processar pedidos.
ONLINE O recurso do grupo de disponibilidade está online, e todos os threads dos trabalhadores da base de dados foram recolhidos.
FAILED A réplica de disponibilidade não consegue ler nem escrever a partir do cluster WSFC.

SECONDARY: Quando uma réplica de disponibilidade desempenha esse SECONDARY papel, é atualmente uma réplica secundária. Os possíveis estados operacionais são os apresentados na tabela abaixo.

Estado operacional Description
ONLINE A réplica secundária local está ligada à réplica primária.
FAILED A réplica secundária local não consegue ler nem escrever a partir do cluster WSFC.
NULL Numa réplica primária, este valor é devolvido quando a linha se relaciona com uma réplica secundária.

Permissions

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

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