sys.dm_hadr_database_replica_cluster_states (Transact-SQL)
Aplica-se: 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
forAVAILABILITY_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
- Funções e exibições de gerenciamento dinâmico de Grupos de Disponibilidade AlwaysOn (Transact-SQL)
- Exibições de catálogo de Grupos de Disponibilidade AlwaysOn (Transact-SQL)
- Monitorar grupos de disponibilidade (Transact-SQL)
- Grupos de Disponibilidade AlwaysOn (SQL Server)
- sys.dm_hadr_database_replica_states (Transact-SQL)