sys.dm_hadr_availability_replica_states (Transact-SQL)

Si applica a:SQL Server

Restituisce una riga per ogni replica locale e una riga per ogni replica remota nello stesso gruppo di disponibilità Always On di una replica locale. Ogni riga contiene informazioni sullo stato di una determinata replica.

Importante

Per ottenere informazioni su ogni replica in un determinato gruppo di disponibilità, eseguire una query sys.dm_hadr_availability_replica_states nell'istanza del server che ospita la replica primaria. Se si eseguono query su questa DMV in un'istanza del server che ospita una replica secondaria di un gruppo di disponibilità, questa vista restituisce solo informazioni locali per il gruppo di disponibilità.

Nome colonna Tipo di dati Descrizione
replica_id uniqueidentifier Identificatore univoco della replica.
group_id uniqueidentifier Identificatore univoco del gruppo di disponibilità.
is_local bit Se la replica è locale, una delle seguenti:

0 = Indica una replica secondaria remota in un gruppo di disponibilità la cui replica primaria è ospitata dall'istanza del server locale. Questo valore si verifica solo sul percorso della replica primaria.

1 = Indica una replica locale. Sulle repliche secondarie, è l'unico valore disponibile per il gruppo di disponibilità a cui appartiene la replica.
ruolo tinyint Ruolo corrente dei gruppi di disponibilità AlwaysOn di una replica locale o di una replica remota connessa, uno dei seguenti:

0 = Risoluzione

1 = Primaria

2 = Secondaria

Per informazioni sui ruoli di Gruppi di disponibilità Always On, vedere Panoramica dei gruppi di disponibilità Always On (SQL Server).
role_desc nvarchar(60) Descrizione del ruolo, uno dei seguenti:

RESOLVING

PRIMARY

SECONDARY
operational_state tinyint Stato operativo corrente della replica, uno dei seguenti:

0 = Failover in sospeso

1 = In sospeso

2 = Online

3 = Offline

4 = Non riuscito

5 = Non completato, nessun quorum

Null = La replica non è locale.

Per altre informazioni, vedere Ruoli e Stati operativi più avanti in questo argomento.
operational_state_desc nvarchar(60) Descrizione di operational_state, una delle seguenti:

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL
recovery_health tinyint Rollup della colonna database_state della vista a gestione dinamica sys.dm_hadr_database_replica_states . Di seguito sono riportati i valori possibili e le relative descrizioni.

0 : in corso. Almeno un database aggiunto ha uno stato del database diverso da ONLINE (database_state non è 0).

1 : Online. Tutti i database aggiunti hanno uno stato del database ONLINE (database_state è 0).

NULL: is_local = 0
recovery_health_desc nvarchar(60) Descrizione di recovery_health, uno dei seguenti:

ONLINE_IN_PROGRESS

ONLINE

NULL
synchronization_health tinyint Riflette un rollup dello stato di sincronizzazione del database (synchronization_state)di tutti i database di disponibilità aggiunti (noti anche come repliche) e della modalità di disponibilità della replica (modalità con commit sincrono o commit asincrono). Il rollup rifletterà lo stato meno integro accumulato dei database nella replica. Di seguito sono riportati i valori possibili e le relative descrizioni.

0 : non integro. Almeno un database di cui è stato creato un join si trova nello stato NOT SYNCHRONIZING.

1 : parzialmente integro. Alcune repliche non sono nello stato di sincronizzazione di destinazione: le repliche con commit sincrono devono trovarsi nello stato Sincronizzato, mentre le repliche con commit asincrono devono trovarsi nello stato Sincronizzazione in corso.

2 : Integro. Tutte le repliche sono nello stato di sincronizzazione di destinazione: le repliche con commit sincrono si trovano nello stato Sincronizzato, mentre le repliche con commit asincrono si trovano nello stato Sincronizzazione in corso.
synchronization_health_desc nvarchar(60) Descrizione di synchronization_health, una delle seguenti:

NOT_HEALTHY

PARTIALLY_HEALTHY

HEALTHY
connected_state tinyint Indica se una replica secondaria è attualmente connessa alla replica primaria. I valori possibili sono illustrati di seguito con le relative descrizioni.

0 : disconnesso. La risposta di una replica di disponibilità allo stato DISCONNECTED dipende dal relativo ruolo: nella replica primaria, se una replica secondaria è disconnessa, i relativi database secondari vengono contrassegnati come NOT SYNCHRONIZED nella replica primaria, che attende la riconnessione del database secondario; In una replica secondaria, dopo aver rilevato che è disconnessa, la replica secondaria tenta di riconnettersi alla replica primaria.

1 : Connesso.

Ogni replica primaria tiene traccia dello stato di connessione per ogni replica secondaria nello stesso gruppo di disponibilità. Le repliche secondarie tengono traccia dello stato di connessione della sola replica primaria.
connected_state_desc nvarchar(60) Descrizione di connection_state, uno dei seguenti:

DISCONNECTED

CONNECTED
last_connect_error_number int Numero dell'ultimo errore di connessione.
last_connect_error_description nvarchar(1024) Testo del messaggio di last_connect_error_number .
last_connect_error_timestamp datetime Timestamp di data e ora che indica quando si è verificato l'errore di last_connect_error_number .

Ruoli e stati operativi

Il ruolo, ruolo, riflette lo stato di una determinata replica di disponibilità e lo stato operativo, operational_state, descrive se la replica è pronta per elaborare le richieste client per tutto il database della replica di disponibilità. Di seguito è riportato un riepilogo degli stati operativi possibili per ogni ruolo: RESOLVING, PRIMARY e SECONDARY.

RISOLUZIONE: quando una replica di disponibilità si trova nel ruolo RESOLVING, i possibili stati operativi sono indicati nella tabella seguente.

Stato operativo Descrizione
PENDING_FAILOVER È in corso l'elaborazione di un comando di failover per il gruppo di disponibilità.
OFFLINE Tutti i dati di configurazione per la replica di disponibilità sono stati aggiornati sul cluster WSFC e anche nei metadati locali, ma attualmente nel gruppo di disponibilità non è presente alcuna replica primaria.
FAILED Errore di lettura nel tentativo di recuperare informazioni dal cluster WSFC.
FAILED_NO_QUORUM Il nodo WSFC locale non dispone di quorum. Si tratta di uno stato derivato.

PRIMARY: quando una replica di disponibilità esegue il ruolo PRIMARY, è attualmente la replica primaria. I possibili stati operativi sono illustrati nella tabella seguente.

Stato operativo Descrizione
PENDING Si tratta di uno stato temporaneo, tuttavia una replica primaria può rimanere bloccata in questo stato se i thread di lavoro non elaborano le richieste.
ONLINE La risorsa del gruppo di disponibilità è online e tutti i thread di lavoro del database sono stati prelevati.
FAILED La replica di disponibilità non è in grado di leggere e/o scrivere dal cluster WSFC.

SECONDARY: quando una replica di disponibilità esegue il ruolo SECONDARY, è attualmente una replica secondaria. Gli stati operativi possibili sono illustrati nella tabella seguente.

Stato operativo Descrizione
ONLINE La replica secondaria locale è connessa alla replica primaria.
FAILED La replica secondaria locale non è in grado di leggere e/o scrivere dal cluster WSFC.
NULL Su una replica primaria, questo valore viene restituito quando la riga è correlata a una replica secondaria.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE per il server.

Autorizzazioni per SQL Server 2022 e versioni successive

È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE nel server.

Vedi anche

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)
Monitorare Gruppi di disponibilità (Transact-SQL)