DMV e viste del catalogo di sistema (Gruppi di disponibilità Always On)
Si applica a: SQL Server
Questo argomento illustra alcune query comuni sulle DMV Always On che è possibile usare per monitorare e risolvere i problemi relativi ai 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 Funzioni e DMV 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 viene definito come Maggioranza dei nodi e delle condivisioni file, viene segnalata 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 che contiene due schede di rete in ogni 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
La nomenclatura riporta le DMV che documentano le repliche e i database di disponibilità.
Esplorare le repliche di disponibilità
La query seguente recupera le 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à, esistono tre DMV che segnalano 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, la DMV availability_replicas segnala i dati di configurazione relativi alle repliche di disponibilità, che vengono memorizzati in locale nella cache di SQL Server.
Esplorare l'integrità della replica di disponibilità
La query seguente recupera le informazioni sull'integrità corrente 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, sono disponibili tre DMV Always On che segnalano informazioni sui database di disponibilità. La DMV sys. availability_databases_cluster segnala informazioni di configurazione sui database di disponibilità del cluster WSFC. La DMV sys.dm_hadr_database_replica_cluster_states segnala informazioni di stato sulle repliche di database, che vengono memorizzate in locale nella cache di SQL Server. Contiene informazioni importanti sullo stato, ad esempio la conformità di failover della replica di disponibilità. Infine, la DMV sys.dm hadr_database_replica_states, ossia un set di risultati molto dettagliato che segnala informazioni sull'identità e sullo stato di ogni database di disponibilità, ad esempio informazioni sullo stato LSN per i log delle repliche del database primario e secondario.
Esplorare l'integrità del database di disponibilità
La query seguente recupera informazioni sull'integrità di ogni database di disponibilità nelle 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