sys.dm_hadr_database_replica_cluster_states (Transact-SQL)
Si applica a: SQL Server
Restituisce una riga contenente informazioni dettagliate sull'integrità dei database di disponibilità nei gruppi di disponibilità AlwaysOn in ogni gruppo di disponibilità AlwaysOn nel cluster WSFC (Windows Server Failover Clustering). Eseguire una query sys.dm_hadr_database_replica_cluster_states
per rispondere alle domande seguenti:
Tutti i database di un gruppo di disponibilità sono pronti per un failover?
Dopo un failover forzato, un database secondario è stato sospeso in locale e il suo stato sospeso è stato riconosciuto nella nuova replica primaria?
Se la replica primaria non è attualmente disponibile, quale replica secondaria limiterebbe la perdita di dati se diventasse la replica primaria?
Quando il valore della colonna sys.databases
log_reuse_wait_desc
èAVAILABILITY_REPLICA
, quale replica secondaria in un gruppo di disponibilità mantiene il troncamento del log in un determinato database primario?
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
replica_id | uniqueidentifier | Identificatore della replica di disponibilità all'interno del gruppo di disponibilità. |
group_database_id | uniqueidentifier | Identificatore del database nel gruppo di disponibilità. L'identificatore è identico su ogni replica a cui è stato aggiunto questo database. |
database_name | sysname | Nome di un database che appartiene al gruppo di disponibilità. |
is_failover_ready | bit | Indica se il database secondario è sincronizzato con il database primario corrispondente. uno di: 0 = Il database non è contrassegnato come sincronizzato nel cluster. Il database non è pronto per un failover. 1 = Il database non è contrassegnato come sincronizzato nel cluster. Il database è pronto per un failover. |
is_pending_secondary_suspend | bit | Indica se, dopo un failover forzato, il database verrà sospeso, uno di: 0 = Tutti gli stati tranne HADR_SYNCHRONIZED_SUSPENDED. 1 = HADR_SYNCHRONIZED_SUSPENDED. Al termine di un failover forzato, ogni database secondario viene impostato su HADR_SYNCHONIZED_SUSPENDED e rimane in questo stato fino a quando la nuova replica primaria non riceve un riconoscimento da tale database secondario al messaggio SUSPEND. NULL = Sconosciuto (senza quorum) |
is_database_joined | bit | Indica se al database su questa replica di disponibilità è stato unito in join al gruppo di disponibilità, uno di: 0 = Il database non viene aggiunto al gruppo di disponibilità in questa replica di disponibilità. 1 = Database non unito in join al gruppo di disponibilità su questa replica di disponibilità. NULL = Sconosciuto (la replica di disponibilità non dispone del quorum.) |
recovery_lsn | numeric(25,0) | Sulla replica primaria la fine del log delle transazioni prima che la replica scriva qualsiasi nuovo record del log dopo il failover o il recupero. Nella replica primaria, la riga per un determinato database secondario ha il valore a cui la replica primaria deve eseguire la sincronizzazione della replica secondaria, ovvero per ripristinare e reinizializzare in . Nelle repliche secondarie questo valore è NULL. Ogni replica secondaria ha il valore MAX o un valore inferiore a cui la replica primaria ha indicato alla replica secondaria di tornare indietro. |
truncation_lsn | numeric(25,0) | Valore di troncamento del log dei gruppi di disponibilità AlwaysOn, che può essere superiore all'LSN di troncamento locale se il troncamento del log locale è bloccato, ad esempio da un'operazione di backup. |
Autorizzazioni
Per SQL Server 2019 (15.x) e versioni precedenti, è richiesta l'autorizzazione VIEW SERVER STATE per il server.
Per SQL Server 2022 (16.x) e versioni successive, è richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE nel server.