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.

Vedi anche