sys.availability_replicas (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate)

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'ENDPOINT_URL dell'istruzione ALTER AVAILABILITY GROUPTransact-SQL .
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 availability_mode, una delle seguenti:

ASYNCHRONOUS_COMMIT

SYNCHRONOUS_COMMIT

CONFIGURATION_ONLY

Per modificare la modalità di disponibilità di una replica di disponibilità, usare l'AVAILABILITY_MODE dell'istruzione ALTER AVAILABILITY GROUPTransact-SQL .

Non è possibile modificare la modalità di disponibilità di una replica in CONFIGURATION_ONLY. Non è possibile modificare una CONFIGURATION_ONLY replica primaria o secondaria.
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, può verificarsi il failover manuale senza perdita di dati.

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 sys.dm_hadr_availability_replica_states a gestione dinamica. 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 database di disponibilità specificato, eseguire una query sulle colonne synchronization_state e synchronization_health della vista sys.dm_hadr_database_replica_states a gestione dinamica.
failover_mode_desc nvarchar(60) Descrizione failover_mode, una delle seguenti:

MANUAL

AUTOMATIC

Per modificare la modalità di failover, usare l'FAILOVER_MODE dell'istruzione ALTER AVAILABILITY GROUPTransact-SQL .
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 di sessione non causano failover automatici.

Per modificare questo valore, usare l'SESSION_TIMEOUT dell'istruzione ALTER AVAILABILITY GROUPTransact-SQL .
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 primary_role_allow_connections, una delle 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 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 su 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 (Always On gruppi di disponibilità).
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.

Vedere anche