sys.dm_hadr_database_replica_cluster_states (Transact-SQL)

Aplica-se a:SQL Server

Retorna uma linha que contém informações sobre a integridade dos bancos de dados de disponibilidade nos grupos de disponibilidade Always On em cada grupo de disponibilidade Always On no cluster WSFC (Cluster de Failover do Windows Server). Consulta sys.dm_hadr_database_replica_cluster_states para responder às seguintes perguntas:

  • Todos os bancos de dados estão em um grupo de disponibilidade pronto para um failover?

  • Depois de um failover forçado, um banco de dados secundário se suspendeu localmente e confirmou seu estado suspenso para a nova réplica primária?

  • Se a réplica primária estiver indisponível no momento, qual réplica secundária permitirá a perda de dados mínima caso se torne a réplica primária?

  • Quando o valor da coluna sys.databaseslog_reuse_wait_desc é AVAILABILITY_REPLICA, qual réplica secundária em um grupo de disponibilidade está segurando o truncamento de log em um determinado banco de dados primário?

Nome da coluna Tipo de dados Descrição
replica_id uniqueidentifier O identificador da réplica de disponibilidade dentro do grupo de disponibilidade.
group_database_id uniqueidentifier O identificador do banco de dados dentro do grupo de disponibilidade. Esse identificador é idêntico em cada réplica à qual este banco de dados é unido.
database_name sysname Nome de um banco de dados que pertence ao grupo de disponibilidade.
is_failover_ready bit Indica se o banco de dados secundário está sincronizado com o banco de dados primário correspondente. um dos:

0 = O banco de dados não está marcado como sincronizado no cluster. O banco de dados não está pronto para um failover.

1 = O banco de dados está marcado como sincronizado no cluster. O banco de dados está pronto para um failover.
is_pending_secondary_suspend bit Indica se, depois de um failover forçado, o banco de dados tem suspensão pendente, um dos seguintes:

0 = Todos os estados, exceto HADR_SYNCHRONIZED_SUSPENDED.

1 = HADR_SYNCHRONIZED_SUSPENDED. Quando um failover forçado é concluído, cada um dos bancos de dados secundários é definido como HADR_SYNCHONIZED_SUSPENDED e permanece nesse estado até que a nova réplica primária receba uma confirmação desse banco de dados secundário para a mensagem SUSPEND.

NULL = Desconhecido (sem quorum)
is_database_joined bit Indica se o banco de dados nesta réplica de disponibilidade foi unido ao grupo de disponibilidade, um do seguintes:

0 = O banco de dados não está associado ao grupo de disponibilidade nesta réplica de disponibilidade.

1 = O banco de dados está unido ao grupo de disponibilidade nesta réplica de disponibilidade.

NULL = desconhecido (a réplica de disponibilidade não tem quorum).
recovery_lsn numeric(25,0) Na réplica primária, o final do log de transações antes de a réplica gravar outro novo registro de log depois da recuperação ou do failover. Na réplica primária, a linha de um determinado banco de dados secundário tem o valor que a réplica primária precisa que a réplica secundária sincronize (ou seja, reverta e reinicialize).

Em réplicas secundárias, esse valor é NULL. Cada réplica secundária tem o valor MAX ou um valor mais baixo para o qual a réplica primária disse à réplica secundária para voltar.
truncation_lsn numeric(25,0) O valor de truncamento de log de grupos de disponibilidade Always On, que pode ser maior que o LSN de truncamento local se o truncamento de log local estiver bloqueado (como por uma operação de backup).

Permissões

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

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

Confira também