sys.dm_hadr_database_replica_cluster_states (Transact-SQL)

Aplica-se a: SQL Server

Devolve uma linha contendo informações sobre o estado das bases de dados de disponibilidade nos grupos de disponibilidade Always On em cada grupo de disponibilidade Always On no cluster Windows Server Failover Clustering (WSFC). Consulta sys.dm_hadr_database_replica_cluster_states para responder às seguintes perguntas:

  • Todas as bases de dados num grupo de disponibilidade estão prontas para um failover?

  • Após um failover forçado, será que uma base de dados secundária se suspendeu localmente e reconheceu o seu estado suspenso para a nova réplica primária?

  • Se a réplica primária estiver atualmente indisponível, qual réplica secundária permitiria a perda mínima de dados se se tornar a réplica primária?

  • Quando o valor da coluna sys.databaseslog_reuse_wait_desc é AVAILABILITY_REPLICA, que réplica secundária num grupo de disponibilidade está a manter o truncamento log numa dada base de dados primária?

Nome da coluna Tipo de dados Description
replica_id uniqueidentifier Identificador da réplica de disponibilidade dentro do grupo de disponibilidade.
group_database_id uniqueidentifier Identificador do banco de dados dentro do grupo de disponibilidade. Esse identificador é idêntico em todas as réplicas às quais esse banco de dados é associado.
database_name sysname Nome de uma base de dados que pertence ao grupo de disponibilidade.
is_failover_ready bit Indica se a base de dados secundária está sincronizada com a base de dados primária correspondente. Um dos:

0 = A base de dados não está marcada como sincronizada no cluster. A base de dados não está pronta para um failover.

1 = A base de dados é marcada como sincronizada no cluster. A base de dados está pronta para um failover.
is_pending_secondary_suspend bit Indica se, após um failover forçado, a base de dados está pendente de suspensão, entre os seguintes:

0 = Quaisquer estados exceto HADR_SYNCHRONIZED_SUSPENDED.

1 = HADR_SYNCHRONIZED_SUSPENDED. Quando um failover forçado é concluído, cada uma das bases de dados secundárias é definida para HADR_SYNCHONIZED_SUSPENDED e mantém-se neste estado até que a nova réplica primária receba um reconhecimento dessa base de dados secundária para a mensagem SUSPEND.

NULL = Desconhecido (sem quórum)
is_database_joined bit Indica se a base de dados desta réplica de disponibilidade foi ligada ao grupo de disponibilidade, um dos seguintes:

0 = A base de dados não está ligada ao grupo de disponibilidade nesta réplica de disponibilidade.

1 = A base de dados está ligada ao grupo de disponibilidade nesta réplica de disponibilidade.

NULL = desconhecido (A réplica de disponibilidade não tem quórum.)
recovery_lsn numérico(25,0) Na réplica primária, o final do registo de transações antes da réplica escreve quaisquer novos registos de registo após a recuperação ou failover. Na réplica primária, a linha de uma dada base de dados secundária tem o valor ao qual a réplica primária precisa que a réplica secundária se sincronize (ou seja, para reverter e reinicializar).

Em réplicas secundárias, este valor é NULL. Cada réplica secundária tem o valor MAX ou um valor inferior ao qual a réplica primária indicou à réplica secundária para regressar.
truncation_lsn numérico(25,0) O valor de truncamento logarítmico dos grupos de disponibilidade Always On, que pode ser superior ao LSN de truncamento local se o truncamento local for bloqueado (como por uma operação de backup).

Permissions

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

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

Consulte também