Condividi tramite


Monitorare i gruppi di disponibilità (Transact-SQL)

Per il monitoraggio di gruppi di disponibilità e repliche e dei database associati tramite Transact-SQL, i gruppi di disponibilità AlwaysOn forniscono un set di viste a gestione dinamica e di catalogo e proprietà del server. Usando Transact-SQL istruzioni SELECT, è possibile usare le viste per monitorare i gruppi di disponibilità, le loro repliche e i database. Le informazioni restituite per un determinato gruppo di disponibilità dipendono dal fatto che si sia connessi all'istanza di SQL Server che ospita la replica primaria o una replica secondaria.

Suggerimento

Molte di queste viste possono essere unite con le colonne ID per restituire informazioni da diverse viste in un'unica query.

Autorizzazioni

Le viste del catalogo dei gruppi di disponibilità AlwaysOn richiedono l'autorizzazione VIEW ANY DEFINITION per l'istanza del server. Le viste a gestione dinamica dei gruppi di disponibilità AlwaysOn richiedono l'autorizzazione VIEW SERVER STATE per il server.

Monitoraggio della funzionalità Gruppi di disponibilità AlwaysOn in un'istanza del server

Per monitorare la funzionalità Gruppi di disponibilità AlwaysOn in un'istanza del server, usare la funzione predefinita seguente:

Funzione SERVERPROPERTY
Restituisce informazioni sulle proprietà del server relative all'abilitazione dei gruppi di disponibilità Always On e, in tal caso, se sono stati avviati sull'istanza del server.

Nomi di colonna: IsHadrEnabled, HadrManagerStatus

Monitoraggio dei gruppi di disponibilità nel cluster WSFC

Per monitorare il cluster WSFC (Windows Server Failover Clustering) che ospita un'istanza del server locale abilitata per i gruppi di disponibilità AlwaysOn, usare le visualizzazioni 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 le informazioni sul quorum. Se il nodo WSFC non dispone di quorum, non vengono restituite righe.

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 abilitata per AlwaysOn di SQL Server dispone del quorum WSFC, restituisce una riga per ognuno dei membri che costituiscono il quorum e lo stato di ognuno di essi.

Nomi di colonna: nome_membro, tipo_membro, descr_tipo_membro, stato_membro, descr_stato_membro, numero_di_voti_di_quorum

sys.dm_hadr_cluster_networks
Restituisce una riga per ogni membro che partecipa alla configurazione della subnet di un gruppo di disponibilità. È possibile usare questa visualizzazione a gestione dinamica per convalidare l'INDIRIZZO IP virtuale di rete configurato per ogni replica di disponibilità.

Nomi di colonna: 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à unita al gruppo di disponibilità AlwaysOn, restituisce il nome del nodo WSFC (Windows Server Failover Clustering) che ospita l'istanza del server. Questa vista a gestione dinamica prevede gli usi seguenti:

  • Questa vista a gestione dinamica è utile per rilevare un gruppo di disponibilità con più repliche di disponibilità ospitate nello stesso nodo WSFC, ovvero una configurazione non supportata che potrebbe verificarsi dopo un failover dell'istanza del cluster di failover se il gruppo di disponibilità non è configurato correttamente.

  • Quando più istanze di SQL Server sono ospitate nello stesso nodo WSFC, la DLL della risorsa usa questa visualizzazione a gestione dinamica per determinare l'istanza di SQL Server a cui connettersi.

Nomi di colonna: ag_resource_id, instance_name, node_name

sys.dm_hadr_name_id_map
Mostra il mapping dei gruppi di disponibilità AlwaysOn aggiunti all'istanza corrente di SQL Server a tre ID univoci: ID gruppo di disponibilità, ID risorsa WSFC e ID gruppo WSFC. Lo scopo di questo mapping è gestire lo scenario in cui viene rinominato il gruppo o la risorsa WSFC.

Nomi di colonna: ag_name, ag_id, ag_resource_id, ag_group_id

Annotazioni

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 Database di disponibilità di monitoraggio , più avanti in questo argomento.

Per informazioni sui cluster WSFC e sui Gruppi di Disponibilità Always On, vedere Windows Server Failover Clustering (WSFC) con SQL Server e Cluster di Failover e Gruppi di Disponibilità Always On (SQL Server).

Monitoraggio dei gruppi di disponibilità

Per monitorare i gruppi di disponibilità per i quali l'istanza del server ospita una replica di disponibilità, usare le viste seguenti:

sys.availability_groups
Restituisce una riga per ogni gruppo di disponibilità per il quale 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 ha una replica di disponibilità sull'istanza locale di SQL Server. Ogni riga visualizza gli stati che definiscono la salute 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

Monitoraggio delle repliche di disponibilità

Per monitorare le repliche di disponibilità, utilizzare le seguenti viste e funzione di sistema:

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 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
Restituisce una riga per la read-only routing list di ciascuna replica di disponibilità in un gruppo di disponibilità AlwaysOn nel cluster di failover WSFC.

Nomi colonne: 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 del join) dei gruppi di disponibilità AlwaysOn nel cluster WSFC (Windows Server Failover Clustering).

Nomi 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 di replica) nel cluster WSFC (Windows Server Failover Clustering).

Nomi 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 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 e last_connect_error_timestamp

sys.fn_hadr_backup_is_preferred_replica
Determina se la replica corrente è la replica di backup preferita.

Annotazioni

Per informazioni sui contatori delle prestazioni per le repliche di disponibilità (oggetto prestazioni SQLServer:Availability Replica), vedere SQL Server, replica di disponibilità.

Monitoraggio dei database di disponibilità

Per monitorare i database di disponibilità, usare le viste seguenti:

sys.availability_databases_cluster
Contiene una riga per ogni database nell'istanza di SQL Server che fanno parte di tutti i gruppi di disponibilità AlwaysOn nel cluster, indipendentemente dal fatto che il database di copia locale sia ancora stato aggiunto al gruppo di disponibilità.

Annotazioni

Quando un database viene aggiunto a un gruppo di disponibilità, il database primario viene aggiunto automaticamente al gruppo. I database secondari devono essere preparati in ogni replica secondaria prima di poter essere aggiunti al 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 tale database visualizza il GUID della replica e l'identificatore univoco del database all'interno del relativo gruppo di disponibilità.

Nomi di colonna dei gruppi di disponibilità AlwaysOn: 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 righe per i tentativi di correzione automatica delle pagine più recenti in un determinato database primario o secondario, con un massimo di 100 righe per ogni database. Non appena un database raggiunge il valore massimo, la riga per il successivo tentativo di ripristino automatico 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 qualsiasi gruppo di disponibilità per il quale l'istanza locale di SQL Server ospita una replica di disponibilità.

Nomi di colonna: 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 che consentono di ottenere informazioni dettagliate sull'integrità dei database di disponibilità in ogni gruppo di disponibilità nel cluster WSFC (Windows Server Failover Clustering). Questa vista di gestione dinamica è utile per pianificare o rispondere a un failover, o per identificare quale replica secondaria in un gruppo di disponibilità stia ritardando il troncamento del log in un database primario specifico.

Nomi di colonna: replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn

Annotazioni

La posizione della replica primaria è la fonte autorevole per un gruppo di disponibilità.

Annotazioni

Per informazioni sui contatori delle prestazioni dei gruppi di disponibilità Always On per i database di disponibilità (l'oggetto delle prestazioni SQLServer:Database Replica), vedere SQL Server, Database Replica. Inoltre, per monitorare l'attività del log delle transazioni di disponibilità nei database, utilizzare i seguenti contatori dell'oggetto delle prestazioni SQLServer:Databases: Tempo di scrittura del flush log (ms), Flush dei log/sec, Mancati riscontri nella cache del pool di log/sec, Letture dal disco del pool di log/sec e Richieste del pool di log/sec. Per ulteriori informazioni, vedere SQL Server, Oggetto Databases.

Monitoraggio dei listener del gruppo di disponibilità

Per monitorare i listener degli availability group nelle subnet del cluster WSFC, usare le viste seguenti:

sys.availability_group_listener_ip_addresses
Restituisce una riga per ogni indirizzo IP virtuale conforme attualmente attivo 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 più informazioni sui listener del gruppo di disponibilità, consultare Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).

Attività correlate

Attività di monitoraggio dei gruppi di disponibilità AlwaysOn:

Informazioni di riferimento sul monitoraggio dei gruppi di disponibilità AlwaysOn (Transact-SQL):

Contatori delle prestazioni AlwaysOn:

Gestione basata su criteri per i gruppi di disponibilità AlwaysOn

Vedere anche

Gruppi di disponibilità AlwaysOn (SQL Server)
Panoramica dei gruppi di disponibilità AlwaysOn (SQL Server)
Monitoraggio dei gruppi di disponibilità (SQL Server)