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 per il server.
Vedi anche
Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)
Monitorare Gruppi di disponibilità (Transact-SQL)