Monitorare Gruppi di disponibilità (Transact-SQL)
Per monitorare le repliche e i gruppi di disponibilità e i database associati tramite Transact-SQL, Gruppi di disponibilità AlwaysOn offre un set di viste del catalogo, di DMV e di proprietà del server. Tramite le istruzioni Transact-SQL SELECT, è possibile utilizzare le viste per monitorare i gruppi di disponibilità e i relativi database e repliche. Le informazioni restituite per un gruppo di disponibilità variano a seconda che l'istanza di SQL Server a cui si è connessi ospiti la replica primaria o una replica secondaria.
Suggerimento |
---|
Molte di queste viste possono essere unite tramite le relative colonne ID in modo che le informazioni vengano restituite da più viste in una singola query. |
Contenuto dell'argomento
Autorizzazioni
Utilizzo di Transact-SQL per monitorare:
Funzionalità Gruppi di disponibilità AlwaysOn su un'istanza del server
Gruppi di disponibilità nel cluster WSFC
Gruppi di disponibilità
Repliche di disponibilità
Database di disponibilità
Listener del gruppo di disponibilità
Attività correlate
Autorizzazioni
Le viste del catalogo di Gruppi di disponibilità AlwaysOn richiedono l'autorizzazione VIEW ANY DEFINITION sull'istanza del server. Le DMV di Gruppi di disponibilità AlwaysOn richiedono l'autorizzazione VIEW SERVER STATE sul server.
Monitoraggio della funzionalità Gruppi di disponibilità AlwaysOn su un'istanza del server
Per monitorare la funzionalità Gruppi di disponibilità AlwaysOn in un'istanza del server, utilizzare la funzione predefinita seguente:
Funzione SERVERPROPERTY
Restituisce informazioni sulle proprietà del server in cui è specificato se Gruppi di disponibilità AlwaysOn è abilitato e, in caso affermativo, se è stato avviato sull'istanza del server.**Nomi delle colonne:**IsHadrEnabled, HadrManagerStatus
Monitoraggio di Gruppi di disponibilità nel cluster WSFC
Per monitorare il cluster WSFC (Windows Server Failover Clustering) che ospita un'istanza del server locale abilitata per Gruppi di disponibilità AlwaysOn, utilizzare le viste seguenti:
sys.dm_hadr_cluster
Se il nodo WSFC (Windows Server Failover Clustering) che ospita un'istanza di SQL Server con Gruppi di disponibilità AlwaysOn abilitato dispone del quorum WSFC, sys.dm_hadr_cluster restituisce una riga che espone il nome del cluster e informazioni sul quorum. Se il nodo WSFC non dispone di quorum, non viene restituita alcuna riga.Nomi delle colonne: cluster_name, quorum_type, quorum_type_desc, quorum_state, quorum_state_desc
sys.dm_hadr_cluster_members
Se il nodo WSFC che ospita l'istanza locale AlwaysOn di SQL Server dispone del quorum WSFC, restituisce una riga per ogni membro che costituisce il quorum e lo stato di ognuno di essi.Nomi delle colonne: member_name, member_type, member_type_desc, member_state, member_state_desc, number_of_quorum_votes
sys.dm_hadr_cluster_networks
Restituisce una riga per ogni membro che partecipa alla configurazione della subnet di un gruppo di disponibilità. È possibile utilizzare questa DMV per convalidare l'indirizzo IP virtuale di rete configurato per ogni replica di disponibilità.Nomi delle colonne: member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4
Chiave primaria: member_name + network_subnet_IP + network_subnet_prefix_length
sys.dm_hadr_instance_node_map
Per ogni istanza di SQL Server che ospita una replica di disponibilità che ha creato un join al gruppo di disponibilità AlwaysOn, restituisce il nome del nodo Windows Server Failover Clustering (WSFC) che ospita l'istanza del server. Questa DMV offre i seguenti utilizzi:Questa DMV è utile per il rilevamento di un gruppo di disponibilità con più repliche di disponibilità ospitate sullo stesso nodo WSFC, si tratta di una configurazione non supportata che si potrebbe verificare dopo un failover dell'istanza del cluster di failover se il gruppo di disponibilità non è stato correttamente configurato.
Quando più istanze di SQL Server sono ospitate sullo stesso nodo WSFC, la DLL della risorsa utilizza questa DMV per determinare l'istanza di SQL Server a cui connettersi.
Nomi della colonna: ag_resource_id, instance_name, node_name
sys.dm_hadr_name_id_map
Mostra il mapping dei gruppi di disponibilità AlwaysOn dove per l'istanza corrente di SQL Server è stato creato un join a tre ID univoci: un ID gruppo di disponibilità, un ID risorsa WSFC e un ID gruppo WSFC. Lo scopo di questo mapping è gestire lo scenario in cui il gruppo/risorsa WSFC viene rinominato.Nomi della colonna: ag_name, ag_id, ag_resource_id, ag_group_id
[!NOTA]
Vedere anche sys.dm_hadr_availability_replica_cluster_nodes e sys.dm_hadr_availability_replica_cluster_states nella sezione Monitoraggio delle repliche di disponibilità e sys.availability_databases_cluster e sys.dm_hadr_database_replica_cluster_states nella sezione Monitoraggio dei database di disponibilità più avanti in questo argomento.
Per informazioni sui cluster WSFC e su Gruppi di disponibilità AlwaysOn, vedere WSFC (Windows Server Failover Clustering) con SQL Server and Clustering di failover e gruppi di disponibilità AlwaysOn (SQL Server).
[Inizio pagina]
Monitoraggio dei gruppi disponibilità
Per monitorare i gruppi di disponibilità per cui l'istanza del server ospita una replica di disponibilità, utilizzare le viste seguenti:
sys.availability_groups
Restituisce una riga per ogni gruppo di disponibilità per cui l'istanza locale di SQL Server ospita una replica di disponibilità. Ogni riga contiene una copia memorizzata nella cache dei metadati del gruppo di disponibilità.Nomi delle colonne: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc
sys.availability_groups_cluster
Restituisce una riga per ogni gruppo di disponibilità nel cluster WSFC. Ogni riga contiene i metadati del gruppo di disponibilità del cluster WSFC (Windows Server Failover Clustering).Nomi delle colonne: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc
sys.dm_hadr_availability_group_states
Restituisce una riga per ogni gruppo di disponibilità che dispone di una replica di disponibilità sull'istanza locale di SQL Server. Ogni riga visualizza gli stati che definiscono l'integrità di un determinato gruppo di disponibilità.Nomi delle colonne: group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc
[Inizio pagina]
Monitoraggio delle repliche di disponibilità
Per monitorare le repliche di disponibilità, utilizzare la funzione di sistema e le viste seguenti:
sys.availability_replicas
Restituisce una riga per ogni replica di disponibilità in ogni gruppo di disponibilità per il quale l'istanza locale di SQL Server ospita una replica di disponibilità.Nomi delle colonne: replica_id, group_id, replica_metadata_id, replica_server_name, owner_sid, endpoint_url, availability_mode, availability_mode_desc, failover_mode, failover_mode_desc, session_timeout, primary_role_allow_connections, primary_role_allow_connections_desc, secondary_role_allow_connections, secondary_role_allow_connections_desc, create_date, modify_date, backup_priority, read_only_routing_url
sys.availability_read_only_routing_lists
Viene restituita una riga per l'elenco di routing di sola lettura di ogni replica di disponibilità in un gruppo di disponibilità AlwaysOn nel cluster di failover WSFC.Nomi della colonna: replica_id, routing_priority, read_only_replica_id
sys.dm_hadr_availability_replica_cluster_nodes
Restituisce una riga per ogni replica di disponibilità, indipendentemente dallo stato di join, dei gruppi di disponibilità AlwaysOn nel cluster WSFC (Windows Server Failover Clustering).Nomi delle colonne: group_name, replica_server_name, node_name
sys.dm_hadr_availability_replica_cluster_states
Restituisce una riga per ogni replica, indipendentemente dallo stato del join, di tutti i gruppi di disponibilità AlwaysOn, indipendentemente dal percorso della replica, nel cluster WSFC (Windows Server Failover Clustering).Nomi delle colonne: replica_id, replica_server_name, group_id, join_state, join_state_desc
sys.dm_hadr_availability_replica_states
Restituisce una riga in cui viene mostrato lo stato di ogni replica di disponibilità locale e una riga per ogni replica di disponibilità remota nello stesso gruppo di disponibilità.Nomi delle colonne: replica_id, group_id, is_local, role, role_desc, operational_state, operational_state_desc, connected_state, connected_state_desc, recovery_health, recovery_health_desc, synchronization_health, synchronization_health_desc, last_connect_error_number, last_connect_error_description, and last_connect_error_timestamp
sys.fn_hadr_backup_is_preferred_replica
Determina se la replica corrente è la replica di backup preferita.
[!NOTA]
Per informazioni sui contatori delle prestazioni per le repliche di disponibilità, l'oggetto prestazioni SQLServer:Availability Replica , vedere SQL Server, replica di disponibilità.
[Inizio pagina]
Monitoraggio dei database di disponibilità
Per monitorare i database di disponibilità, utilizzare le viste seguenti:
sys.availability_databases_cluster
Contiene una riga per ogni database sull'istanza di SQL Server che fa parte di tutti i gruppi di disponibilità AlwaysOn nel cluster, indipendentemente dal fatto che il database della copia locale sia già stato aggiunto o meno al gruppo di disponibilità.[!NOTA]
Quando un database viene aggiunto a un gruppo di disponibilità, viene automaticamente creato un join del database primario con il gruppo. È necessario preparare i database secondari su ogni replica secondaria prima di poterne creare un join con il gruppo di disponibilità.
Nomi delle colonne: group_id, group_database_id, database_name
sys.databases
Contiene una riga per ogni database nell'istanza di SQL Server. Se un database appartiene a una replica di disponibilità, la riga per quel database contiene il GUID della replica e l'identificatore univoco del database all'interno del gruppo di disponibilità.Gruppi di disponibilità AlwaysOn nomi delle colonne: replica_id, group_database_id
sys.dm_hadr_auto_page_repair
Restituisce una riga per ogni tentativo di correzione automatica della pagina in qualsiasi database di disponibilità in una replica di disponibilità ospitata per qualsiasi gruppo di disponibilità dall'istanza del server. Questa vista contiene le righe degli ultimi tentativi automatici di correzione automatica della pagina in un database primario o secondario, con un massimo di 100 righe per database. Non appena un database raggiunge il limite massimo, la riga per il tentativo successivo di correzione automatica della pagina sostituisce una delle voci esistenti.Nomi delle colonne: database_id, file_id, page_id, error_type, page_status, modification_time
sys.dm_hadr_database_replica_states
Restituisce una riga per ogni database che partecipa a un qualsiasi gruppo di disponibilità per il quale l'istanza locale di SQL Server ospita una replica di disponibilità.Nomi delle colonne: database_id, group_id, replica_id, group_database_id, is_local, synchronization_state, synchronization_state_desc, is_commit_participant, synchronization_health, synchronization_health_desc, database_state, database_state_desc, is_suspended, suspend_reason, suspend_reason_desc, recovery_lsn, truncation_lsn, last_sent_lsn, last_sent_time, last_received_lsn, last_received_time, last_hardened_lsn, last_hardened_time, last_redone_lsn, last_redone_time, log_send_queue_size, log_send_rate, redo_queue_size, redo_rate, filestream_send_rate, end_of_log_lsn, last_commit_lsn, last_commit_time, low_water_mark_for_ghosts
sys.dm_hadr_database_replica_cluster_states
Restituisce una riga contenente informazioni relative all'integrità dei database nei database di disponibilità in ciascun gruppo di disponibilità nel cluster WSFC (Windows Server Failover Clustering). Questa DMV è utile per la pianificazione o la risposta a un failover o per comprendere quale replica secondaria di un gruppo di disponibilità trattiene il troncamento del log su un determinato database primario.Nomi delle colonne: replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn
[!NOTA]
Il percorso della replica primaria è l'origine autorevole per un gruppo di disponibilità.
[!NOTA]
Per informazioni sui contatori delle prestazioni di Gruppi di disponibilità AlwaysOn per i database di disponibilità, l'oggetto prestazioni SQLServer:Database Replica, vedere SQL Server, replica di database. Inoltre, per monitorare l'attività dei log delle transazioni dei database di disponibilità, utilizzare i contatori seguenti dell'oggetto prestazioni SQLServer:Databases, Ora di scrittura scaricamento log (ms), Scaricamenti log/sec, Mancati riscontri cache del pool di log/sec, Letture disco del pool di log/sec e Richieste del pool di log/sec. Per ulteriori informazioni, vedere SQL Server, oggetto di database.
[Inizio pagina]
Monitoraggio dei listener del gruppo di disponibilità
Per monitorare i listener del gruppo di disponibilità sulle subnet del cluster WSFC, utilizzare le viste seguenti:
sys.availability_group_listener_ip_addresses
Restituisce una riga per ogni indirizzo IP virtuale conforme attualmente online per un listener del gruppo di disponibilità.Nomi delle colonne: listener_id, ip_address, ip_subnet_mask, is_dhcp, network_subnet_ip, network_subnet_prefix_length, network_subnet_ipv4_mask, state, state_desc
sys.availability_group_listeners
Per un determinato gruppo di disponibilità, restituisce zero righe, cosa che indica che nessun nome di rete è associato al gruppo di disponibilità, oppure restituisce una riga per ogni configurazione del listener del gruppo di disponibilità nel cluster WSFC (Windows Server Failover Clustering).Nomi delle colonne: group_id, listener_id, dns_name, port, is_conformant, ip_configuration_string_from_cluster
sys.dm_tcp_listener_states
Restituisce una riga contenente informazioni sullo stato dinamico per ogni listener TCP.Nomi delle colonne: listener_id, ip_address, is_ipv4, port, type, type_desc, state, state_desc, start_time
Chiave primaria: listener_id
Per ulteriori informazioni sui listener dei gruppi di disponibilità, vedere Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).
[Inizio pagina]
Attività correlate
Attività di monitoraggio dei gruppi di disponibilità AlwaysOn:
Visualizzazione delle Proprietà dei gruppi di disponibilità (SQL Server)
Visualizzazione delle proprietà della replica di disponibilità (SQL Server)
Visualizzare le proprietà del listener del gruppo di disponibilità (SQL Server)
Riferimento relativo al monitoraggio dei gruppi di disponibilità AlwaysOn (Transact-SQL):
sys.dm_hadr_availability_replica_cluster_nodes (Transact-SQL)
sys.dm_hadr_availability_replica_cluster_states (Transact-SQL)
sys.dm_hadr_availability_replica_cluster_states (Transact-SQL)
Contatori delle prestazioni AlwaysOn:
Gestione basata su criteri per gruppi di disponibilità AlwaysOn
[Inizio pagina]
Vedere anche
Concetti
Gruppi di disponibilità AlwaysOn (SQL Server)