Viste a gestione dinamica e viste del catalogo di sistema (Gruppi di disponibilità Always On)

Si applica a:SQL Server

Questo argomento descrive alcune delle query più comuni sulle viste a gestione dinamica (DMV) Always On che è possibile utilizzare per monitorare e individuare e risolvere i problemi dei gruppi di disponibilità.

Suggerimento

Nel dashboard Always On è possibile configurare facilmente l'interfaccia utente grafica (GUI) per visualizzare molte delle DMV disponibili per le repliche di disponibilità e i database di disponibilità. Fare clic con il pulsante destro del mouse sull'intestazione di tabella corrispondente e selezionare la DMV che si vuole visualizzare o nascondere.

Per altre informazioni sulle DMV del gruppo di disponibilità, vedere Viste a gestione dinamica e funzioni di Gruppi di disponibilità Always On (Transact-SQL). Per altre informazioni sulle viste del catalogo dei gruppi di disponibilità, vedere Viste del catalogo di Gruppi di disponibilità Always On (Transact-SQL).

Controllare la configurazione del nodo del cluster WSFC

La query Transact-SQL (T-SQL) seguente recupera lo stato di tutti i nodi nel cluster WSFC (Windows Server Failover Clustering ) corrente.

use master  
go  
select * from sys.dm_hadr_cluster_members  
go  

Questo set di risultati segnala lo stato di ogni nodo membro del cluster WSFC corrente. Se il quorum è definito come Maggioranza nodi e condivisione file, viene riportata anche la condivisione file. È possibile visualizzare lo stato di ogni nodo, incluso il peso di votazione di ogni nodo (valore number_of_quorum_votes).

Esplorare la rete del cluster

La query seguente recupera la configurazione di rete del cluster WSFC corrente.

select * from sys.dm_hadr_cluster_networks  

Il set di risultati contiene una riga per ogni scheda di rete nel cluster WSFC. Ad esempio, in un cluster a due nodi con due schede di rete su ciascun nodo, questa query restituisce quattro righe.

Esplorare i gruppi di disponibilità

La query seguente recupera informazioni su un gruppo di disponibilità.

select primary_replica, primary_recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_group_states  
go  
select * from sys.availability_groups  
go  
select * from sys.availability_groups_cluster  
go  

Tutte le DMV sys.dm_hadr_availability_group_states (Transact-SQL), sys.availability_groups (Transact-SQL), e sys.availability_groups_cluster restituiscono informazioni sui gruppi di disponibilità del cluster WSFC corrente. In realtà sembra che availability_groups (Transact-SQL) e sys.availability_groups_cluster restituiscano informazioni identiche.

La DMV sys.availability_groups_cluster segnala invece i metadati del gruppo di disponibilità archiviati nel cluster WSFC, mentre la DMV sys.availability_groups (Transact-SQL) specifica i metadati del gruppo di disponibilità memorizzati nella cache dello spazio del processo di SQL Server. Queste due DMV segnalano anche informazioni sulla configurazione, mentre sys.dm_hadr_availability_group_states (Transact-SQL) indica gli stati di integrità correnti dei gruppi di disponibilità.

Importante

Questa nomenclatura viene mantenuta nelle DMV che documentano le repliche di disponibilità e i database di disponibilità.

Esplora le repliche della disponibilità

La query seguente recupera informazioni sulle repliche di disponibilità definite nei gruppi di disponibilità.

select replica_id, role_desc, connected_state_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states  
go  
select replica_server_name, replica_id, availability_mode_desc, endpoint_url from sys.availability_replicas  
go  
select replica_server_name, join_state_desc from sys.dm_hadr_availability_replica_cluster_states  
go  

Analogamente alle DMV del gruppo di disponibilità, si trovano tre DMV che forniscono informazioni sulle repliche di disponibilità. La DMV sys.dm_hadr_availability_replica_states segnala informazioni sulle repliche di disponibilità memorizzate in locale nella cache di SQL Server, mentre la DMV sys.dm_hadr_availability_replica_cluster_states segnala informazioni di stato relative alle repliche di disponibilità del cluster WSFC. Infine, sys.availability_replicas riporta i dati di configurazione relativi alle repliche di disponibilità, che sono memorizzati nella cache locale di SQL Server.

Esplora lo stato della replica di disponibilità

La query seguente restituisce le informazioni correnti sullo stato di integrità delle repliche di disponibilità.

select replica_id, role_desc, recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states  
go  

Confrontare i risultati della query nella replica primaria e nella replica secondaria e notare che nella replica secondaria le informazioni di stato vengono segnalate solo per la replica specifica e non per qualsiasi altra replica nel gruppo di disponibilità.

Esplorare i database di disponibilità

La query seguente recupera le informazioni sulle repliche di disponibilità definite nel gruppo di disponibilità. È possibile osservare la variazione nei risultati della query prima e dopo aver sospeso lo spostamento dei dati in un database di disponibilità.

select * from sys.availability_databases_cluster  
go  
select group_database_id, database_name, is_failover_ready  from sys.dm_hadr_database_replica_cluster_states  
go  
select database_id, synchronization_state_desc, synchronization_health_desc, last_hardened_lsn, redo_queue_size, log_send_queue_size from sys.dm_hadr_database_replica_states  
go  

Anche in questo caso, tre DMV Always On forniscono informazioni sui database di disponibilità. La DMV sys.availability_databases_cluster riporta informazioni di configurazione relative ai database di disponibilità del cluster WSFC. La DMV sys.dm_hadr_database_replica_cluster_states restituisce informazioni sullo stato delle repliche del database, memorizzate nella cache locale di SQL Server. Contiene alcune importanti informazioni sullo stato, ad esempio la prontezza al failover della replica di disponibilità. Infine, sys.dm_hadr_database_replica_states restituisce un set di risultati molto dettagliato che riporta informazioni sull'identità e sullo stato di ogni database incluso nel gruppo di disponibilità, ad esempio informazioni sull'avanzamento dell'LSN per i log delle repliche di database primarie e secondarie.

Esplora lo stato del database di disponibilità

La query seguente restituisce informazioni sullo stato di integrità di ciascun database di disponibilità sulle repliche. È possibile osservare la variazione nei risultati della query prima e dopo aver sospeso lo spostamento dei dati in un database di disponibilità.

select dc.database_name, dr.database_id, dr.synchronization_state_desc,   
dr.suspend_reason_desc, dr.synchronization_health_desc  
from sys.dm_hadr_database_replica_states dr  join sys.availability_databases_cluster dc  
on dr.group_database_id=dc.group_database_id   
where is_local=1  
go