sys.availability_replicas (Transact-SQL)

Si applica a: SQL Server

Restituisce una riga per ognuna delle repliche di disponibilità che appartiene a un gruppo di disponibilità Always On nel cluster di failover WSFC.

Se l'istanza del server locale non è in grado di comunicare con il cluster di failover WSFC, ad esempio perché il cluster non è attivo o perché è stato perso il quorum, vengono restituite solo le righe delle repliche di disponibilità locali. Tali righe conterranno solo le colonne di dati memorizzate nella cache dei metadati in locale.

Nome colonna Tipo di dati Descrizione
replica_id uniqueidentifier ID univoco della replica.
group_id uniqueidentifier ID univoco del gruppo di disponibilità a cui appartiene la replica.
replica_metadata_id int ID dell'oggetto di metadati locale per le repliche di disponibilità nel motore di database.
replica_server_name nvarchar(256) Nome del server dell'istanza di SQL Server che ospita la replica corrente e, per un'istanza non predefinita, il nome dell'istanza.
owner_sid varbinary(85) ID di sicurezza (SID) registrato nell'istanza del server per il proprietario esterno della replica di disponibilità.

NULL per le repliche di disponibilità non locali.
endpoint_url nvarchar(128) Rappresentazione di stringa dell'endpoint del mirroring di database specificato dall'utente usato dalle connessioni tra repliche primarie e secondarie per la sincronizzazione dei dati. Per informazioni sulla sintassi degli URL dell'endpoint, vedere Specificare l'URL dell'endpoint quando si aggiunge o si modifica una replica di disponibilità (SQL Server).

NULL = Impossibile comunicare con il cluster di failover WSFC.

Per modificare questo endpoint, usare l'opzione ENDPOINT_URL dell'istruzione Transact-SQL ALTER AVAILABILITY GROUP.
availability_mode tinyint Modalità di disponibilità della replica. I valori possibili sono:

0 | Commit asincrono. La replica primaria può eseguire il commit delle transazioni senza attendere che la replica secondaria salvi il log su disco.

1 | Commit sincrono. La replica primaria attende che la replica secondaria salvi la transazione su disco prima di eseguirne il commit.

4 | Solo configurazione. La replica primaria invia i metadati di configurazione del gruppo di disponibilità alla replica in modo sincrono. I dati utente non vengono trasmessi alla replica. Disponibile in SQL Server 2017 CU1 e versioni successive.

Per altre informazioni, vedere Modalità di disponibilità (Gruppi di disponibilità Always On).
availability_mode_desc nvarchar(60) Descrizione di availability_mode, uno dei seguenti:

ASYNCHRONOUS_COMMIT

SYNCHRONOUS_COMMIT

CONFIGURATION_ONLY

Per modificare questa modalità di disponibilità di una replica di disponibilità, usare l'opzione AVAILABILITY_MODE dell'istruzione Transact-SQL ALTER AVAILABILITY GROUP.

Non è possibile modificare la modalità di disponibilità di una replica in CONFIGURATION_ONLY. Non è possibile modificare una replica CONFIGURATION_ONLY in una replica secondaria o primaria.
failover_mode tinyint Modalità di failover della replica di disponibilità, una delle seguenti:

0 | Failover automatico. La replica è una destinazione potenziale per i failover automatici. Il failover automatico è supportato solo se la modalità di disponibilità è impostata su commit sincrono (availability_mode = 1) e la replica di disponibilità è attualmente sincronizzata.

1 | Failover manuale. Un failover in una replica secondaria impostata sul failover manuale deve essere avviato manualmente dall'amministratore del database. Il tipo di failover eseguito dipenderà dalla sincronizzazione della replica secondaria, come segue:

Se la replica di disponibilità non è sincronizzata o è ancora in fase di sincronizzazione, è possibile eseguire solo il failover forzato (con la possibile perdita di dati).

Se la modalità di disponibilità è impostata su commit sincrono (availability_mode = 1) e la replica di disponibilità è attualmente sincronizzata, il failover manuale senza perdita di dati può verificarsi.

Per visualizzare un rollup dell'integrità della sincronizzazione del database di ogni database di disponibilità in una replica di disponibilità, usare le colonne synchronization_health e synchronization_health_desc della vista a gestione dinamica sys.dm_hadr_availability_replica_states . Tramite il rollup vengono presi in considerazione lo stato di sincronizzazione di ogni database di disponibilità e la modalità di disponibilità della relativa replica di disponibilità.

Nota: per visualizzare l'integrità della sincronizzazione di un determinato database di disponibilità, eseguire una query sulle colonne synchronization_state e synchronization_health della vista a gestione dinamica sys.dm_hadr_database_replica_states .
failover_mode_desc nvarchar(60) Descrizione di failover_mode, una delle seguenti:

MANUAL

AUTOMATIC

Per modificare la modalità di failover, usare l'opzione FAILOVER_MODE dell'istruzione Transact-SQL ALTER AVAILABILITY GROUP.
session_timeout int Periodo di timeout in secondi. Il periodo di timeout è il tempo di attesa massimo rispettato dalla replica per la ricezione di un messaggio da un'altra replica, prima di considerare la connessione tra la replica primaria e secondaria non riuscita. Il timeout della sessione rileva se le repliche secondarie sono connesse alla replica primaria.

Se viene rilevata una connessione non riuscita con una replica secondaria, la replica primaria considera la replica secondaria come NOT_SYNCHRONIZED. Se viene rilevata una connessione non riuscita con una replica primaria, una replica secondaria tenta di riconnettersi.

Nota: i timeout della sessione non causano failover automatici.

Per modificare questo valore, usare l'opzione SESSION_TIMEOUT dell'istruzione Transact-SQL ALTER AVAILABILITY GROUP.
primary_role_allow_connections tinyint Specifica se la disponibilità consente tutte le connessioni o solo connessioni di lettura e scrittura. I valori possibili sono:

2 = Tutte (impostazione predefinita)

3 = lettura e scrittura
primary_role_allow_connections_desc nvarchar(60) Descrizione di primary_role_allow_connections, uno dei seguenti:

ALL

READ_WRITE
secondary_role_allow_connections tinyint Specifica se una replica di disponibilità che esegue il ruolo secondario, ovvero una replica secondaria, può accettare connessioni dai client. I valori possibili sono:

0 = No. Non è consentita alcuna connessione ai database nella replica secondaria e i database non sono disponibili per l'accesso in lettura. Si tratta dell'impostazione predefinita.

1 = Sola lettura. Sono consentite solo le connessioni di sola lettura ai database nella replica secondaria. Tutti i database nella replica sono disponibili per l'accesso in lettura.

2 = Tutte. Sono consentite tutte le connessioni ai database nella replica secondaria per l'accesso in sola lettura.

Per altre informazioni, vedere Repliche secondarie attive: Repliche secondarie leggibili (Gruppi di disponibilità Always On).
secondary_role_allow_connections_desc nvarchar(60) Descrizione di secondary_role_allow_connections, uno dei seguenti:

NO

READ_ONLY

ALL
create_date datetime Data di creazione della replica.

NULL = La replica non risiede nell'istanza del server.
modify_date datetime Data dell'ultima modifica apportata alla replica.

NULL = La replica non risiede nell'istanza del server.
backup_priority int Rappresenta la priorità specificata dall'utente per l'esecuzione dei backup nella replica rispetto alle altre repliche nello stesso gruppo di disponibilità. Il valore è un numero intero compreso nell'intervallo 0-100.

Per altre informazioni, vedere Repliche secondarie attive: Backup in repliche secondarie (Gruppi di disponibilità Always On).
read_only_routing_url nvarchar(256) Endpoint di connettività (URL) della replica di disponibilità di sola lettura. Per altre informazioni, vedere Configurare il routing di sola lettura per un gruppo di disponibilità (SQL Server).
read_write_routing_url nvarchar(256) SQL Server 2019 (15.x) e versioni successive. Endpoint di connettività (URL) per quando la replica è primaria. Per altre informazioni, vedere Reindirizzamento della connessione in lettura/scrittura da replica secondaria a primaria - Gruppi di disponibilità AlwaysOn.
seeding_mode tinyint Uno dei valori possibili:

0: Automatico

1: Manuale
seeding_mode_desc nvarchar(60) Descrive la modalità di seeding.

AUTOMATIC

MANUAL

Sicurezza

Autorizzazioni

È richiesta l'autorizzazione VIEW ANY DEFINITION nell'istanza del server.

Vedi anche