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 AlwaysOn em cada grupo de disponibilidade AlwaysOn no cluster WSFC (Clustering de Failover do Windows Server). Query 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.databases log_reuse_wait_desc for AVAILABILITY_REPLICA, qual réplica secundária em um grupo de disponibilidade está mantendo 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 seguintes:

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á ingressado no 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, para reverter e reinicializar).

Em réplicas secundárias, esse valor é NULL. Cada réplica secundária tem o valor MAX ou um valor inferior 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 AlwaysOn, que pode ser maior do que o LSN de truncamento local se o truncamento de log local estiver bloqueado (como por uma operação de backup).

Permissões

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

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

Confira também