Condividi tramite


sys.dm_hadr_availability_replica_states (Transact-SQL)

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

Nota importanteImportante

Per ottenere informazioni su ogni replica di disponibilità in un determinato gruppo di disponibilità, eseguire una query su sys.dm_hadr_availability_replica_states sull'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 di disponibilità.

group_id

uniqueidentifier

Identificatore univoco del gruppo di disponibilità.

is_local

bit

Se la replica di disponibilità è locale, uno di:

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 di disponibilità locale. Sulle repliche secondarie, è l'unico valore disponibile per il gruppo di disponibilità a cui appartiene la replica.

ruolo

tinyint

Ruolo di Gruppi di disponibilità AlwaysOn corrente di una replica di disponibilità locale o una replica di disponibilità remota connessa, uno di:

0 = Risoluzione

1 = Primaria

2 = Secondaria

Per ulteriori informazioni sui ruoli di Gruppi di disponibilità AlwaysOn, vedere Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server).

role_desc

nvarchar(60)

Descrizione di role, uno di:

RESOLVING

PRIMARY

SECONDARY

operational_state

tinyint

Stato operativo corrente della replica di disponibilità, uno di:

0 = Failover in sospeso

1 = In sospeso

2 = Online

3 = Offline

4 = Non completato

5 = Non completato, nessun quorum

Null = La replica non è locale.

Per ulteriori informazioni, vedere Ruoli e stati operativi, più avanti in questo argomento.

operational_state_desc

nvarchar(60)

Descrizione di operational_state, uno di:

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL

recovery_health

tinyint

Rollup della colonna database_state della DMV sys.dm_hadr_database_replica_states, uno di:

Valore

Descrizione

0

Operazione in corso. Ad almeno un database di cui è stato creato un join è associato uno stato diverso da ONLINE (database_state non è 0).

1

Online. A tutti i database di cui è stato creato un join è associato uno stato ONLINE (database_state è 0).

NULL

is_local = 0

recovery_health_desc

nvarchar(60)

Descrizione di recovery_health, uno di:

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à di cui è stato creato un join (anche noti come "repliche di disponibilità) e la modalità di disponibilità della relativa replica (modalità con commit sincrono o asincrono). Il rollup rifletterà lo stato accumulato meno integro dei database sulla replica di disponibilità.

Valore

Descrizione

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, uno di:

NOT_HEALTHY

PARTIALLY_HEALTHY

HEALTHY

connected_state

tinyint

Se una replica secondaria è attualmente connessa alla replica primaria, uno di:

Valore

Descrizione

0

Disconnesso La risposta di una replica di disponibilità allo stato DISCONNECTED dipende dal relativo ruolo:

  • Sulla replica primaria, se una replica secondaria è disconnessa, i relativi database secondari sono contrassegnati come NOT SYNCHRONIZED sulla replica primaria, che è in attesa della riconnessione della replica secondaria.

  • Su una replica secondaria, dopo aver rilevato che è disconnessa, viene tentata la riconnessione alla replica primaria da parte della replica secondaria.

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 di:

DISCONNECTED

CONNECTED

last_connect_error_number

int

Numero dell'ultimo errore di connessione.

last_connect_error_description

nvarchar(1024)

Testo del messaggio last_connect_error_number.

last_connect_error_timestamp

datetime

Timestamp che indica la data e l'ora in cui si è verificato l'errore last_connect_error_number.

Ruoli e stati operativi

Il ruolo, role, riflette lo stato di una determinata replica di disponibilità, mentre lo stato operativo, operational_state, specifica se la replica è pronta per l'elaborazione delle richieste client per tutti i database della replica di disponibilità. Nella tabella seguente sono riepilogati gli stati operativi possibili per ogni ruolo: RESOLVING, PRIMARY e SECONDARY.

Ruolo

Significato degli stati operativi per ogni ruolo

RESOLVING

Quando una replica di disponibilità detiene il ruolo RESOLVING, gli stati operativi possibili sono:

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

Se una replica di disponibilità esegue il ruolo PRIMARY, è attualmente la replica primaria. Gli stati operativi possibili sono i seguenti:

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

Se una replica di disponibilità esegue il ruolo SECONDARY, è attualmente una replica secondaria. Gli stati operativi possibili sono i seguenti:

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.

Sicurezza

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

Vedere anche

Concetti

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)

Monitorare Gruppi di disponibilità (Transact-SQL)