Überwachen von Verfügbarkeitsgruppen (Transact-SQL)

Zum Überwachen von Verfügbarkeitsgruppen und -replikaten und den zugeordneten Datenbanken mit Transact-SQL stellt AlwaysOn-Verfügbarkeitsgruppen einen Satz von Katalogsichten und dynamischen Verwaltungssichten sowie Servereigenschaften bereit. Mit Transact-SQL SELECT-Anweisungen können Sie mithilfe der Sichten Verfügbarkeitsgruppen und ihre Replikate und Datenbanken überwachen. Die für eine bestimmte Verfügbarkeitsgruppe zurückgegebenen Informationen hängen davon ab, ob Sie mit der Instanz von SQL Server verbunden sind, die das primäre Replikat oder ein sekundäres Replikat hostet.

TippTipp

Viele dieser Sichten können mithilfe ihre ID-Spalten verknüpft werden, um Informationen aus mehreren Sichten in einer einzelnen Abfrage zurückzugeben.

In diesem Thema:

  • Berechtigungen

  • Verwenden von Transact-SQL zum Überwachen folgender Elemente:  

    Funktion AlwaysOn-Verfügbarkeitsgruppen auf einer Serverinstanz

    Verfügbarkeitsgruppen auf dem WSFC-Cluster

    Verfügbarkeitsgruppen

    Verfügbarkeitsreplikate

    Verfügbarkeitsdatenbanken

    Verfügbarkeitsgruppenlistener

  • Verwandte Aufgaben

Berechtigungen

AlwaysOn-Verfügbarkeitsgruppen-Katalogsichten erfordern die VIEW ANY DEFINITION-Berechtigung für die Serverinstanz. Dynamische AlwaysOn-Verfügbarkeitsgruppen-Verwaltungssichten erfordern die VIEW SERVER STATE-Berechtigung für den Server.

Überwachen der Funktion AlwaysOn-Verfügbarkeitsgruppen auf einer Serverinstanz

Verwenden Sie zum Überwachen der AlwaysOn-Verfügbarkeitsgruppen-Funktion auf einer Serverinstanz folgende integrierte Funktion:

  • SERVERPROPERTY-Funktion
    Gibt Server-Eigenschaftsinformationen dazu zurück, ob AlwaysOn-Verfügbarkeitsgruppen aktiviert ist, und falls ja, ob es auf der Serverinstanz gestartet wurde.

    Spaltennamen: IsHadrEnabled, HadrManagerStatus

Überwachen von Verfügbarkeitsgruppen auf dem WSFC-Cluster

Verwenden Sie zum Überwachen des WSFC-Clusters (Windows Server-Failoverclustering), der eine für AlwaysOn-Verfügbarkeitsgruppen aktivierte lokale Serverinstanz hostet, die folgenden Sichten:

  • sys.dm_hadr_cluster
    Wenn der WSFC-Knoten (Windows Server-Failoverclustering), der eine Instanz von SQL Server hostet, für die AlwaysOn-Verfügbarkeitsgruppen aktiviert ist und über ein WSFC-Quorum verfügt, gibt sys.dm_hadr_cluster eine Zeile zurück, die den Clusternamen und Informationen zum Quorum verfügbar macht. Wenn der WSFC-Knoten nicht über ein Quorum verfügt, werden keine Zeilen zurückgegeben.

    Spaltennamen: cluster_name, quorum_type, quorum_type_desc, quorum_state, quorum_state_desc

  • sys.dm_hadr_cluster_members
    Wenn der WSFC-Knoten, der die lokale AlwaysOn-fähige Instanz von SQL Server hostet, über ein WSFC-Quorum verfügt, wird eine Zeile für jedes Element, aus denen das Quorum besteht, einschließlich Elementstatus, zurückgegeben.

    Spaltennamen: member_name, member_type, member_type_desc, member_state, member_state_desc, number_of_quorum_votes

  • sys.dm_hadr_cluster_networks
    Gibt eine Zeile für jedes Element zurück, das an der Subnetzkonfiguration einer Verfügbarkeitsgruppe beteiligt ist. Sie können diese dynamische Verwaltungssicht verwenden, um die virtuelle IP-Adresse des Netzwerks zu überprüfen, die für jedes Verfügbarkeitsreplikat konfiguriert ist.

    Spaltennamen: member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4

    Primärschlüssel: member_name + network_subnet_IP + network_subnet_prefix_length

  • sys.dm_hadr_instance_node_map
    Jede Instanz von SQL Server, auf der ein Verfügbarkeitsreplikat gehostet wird, das mit seiner AlwaysOn-Verfügbarkeitsgruppe verknüpft ist, gibt den Namen des WSFC-Knotens (Windows Server Failover Clustering) zurück, auf dem die Serverinstanz gehostet wird. Die dynamische Verwaltungssicht dient für Folgendes:

    • Diese dynamische Verwaltungssicht ist nützlich für das Erkennen einer Verfügbarkeitsgruppe mit mehreren Verfügbarkeitsreplikaten, die im gleichen WSFC-Knoten gehostet werden, der eine nicht unterstützte Konfiguration ist. Letztere könnte nach einem FCI-Failover auftreten, wenn die Verfügbarkeitsgruppe falsch konfiguriert wird.

    • Wenn mehrere SQL Server-Instanzen auf dem gleichen WSFC-Knoten gehostet werden, verwendet die Ressourcen-DLL diese dynamische Verwaltungssicht, um die Instanz von SQL Server zu bestimmen, um damit eine Verbindung herzustellen.

    Spaltennamen: ag_resource_id, instance_name, node_name

  • sys.dm_hadr_name_id_map
    Zeigt die Zuordnung von AlwaysOn-Verfügbarkeitsgruppen an, die die aktuelle Instanz von SQL Server mit drei eindeutigen IDs verknüpft hat: eine Verfügbarkeitsgruppen-ID, eine WSFC-Ressourcen-ID und eine WSFC-Gruppen-ID. Der Zweck dieser Zuordnung ist, das Szenario zu behandeln, in dem die WSFC-Ressource/Gruppe umbenannt wird.

    Spaltennamen: ag_name, ag_id, ag_resource_id, ag_group_id

HinweisHinweis

Siehe auch weiter unten in diesem Thema sys.dm_hadr_availability_replica_cluster_nodes und sys.dm_hadr_availability_replica_cluster_states im Abschnitt Überwachen von Verfügbarkeitsreplikaten sowie sys.availability_databases_cluster und sys.dm_hadr_database_replica_cluster_states im Abschnitt Überwachen von Verfügbarkeitsdatenbanken.

Weitere Informationen zu WSFC-Clustern und AlwaysOn-Verfügbarkeitsgruppen finden Sie unter Windows Server-Failoverclustering (WSFC) mit SQL Server und Failoverclustering und AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Überwachen von Verfügbarkeitsgruppen

Verwenden Sie zum Überwachen der Verfügbarkeitsgruppen, für die die Serverinstanz ein Verfügbarkeitsreplikat hostet, die folgenden Sichten:

  • sys.availability_groups
    Gibt eine Zeile für jede Verfügbarkeitsgruppe zurück, für die die lokale Instanz von SQL Server ein Verfügbarkeitsreplikat hostet. Jede Zeile enthält eine zwischengespeicherte Kopie der Metadaten der Verfügbarkeitsgruppe.

    Spaltennamen: 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
    Gibt eine Zeile für jede Verfügbarkeitsgruppe im WSFC-Cluster zurück. Jede Zeile enthält die Verfügbarkeitsgruppenmetadaten vom WSFC-Cluster (Windows Server-Failoverclustering).

    Spaltennamen: 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
    Gibt eine Zeile für jede Verfügbarkeitsgruppe zurück, die ein Verfügbarkeitsreplikat in der lokalen Instanz von SQL Server besitzt. In jede Zeile werden die Statuswerte angezeigt, die den Zustand einer angegebenen Verfügbarkeitsgruppe definieren.

    Spaltennamen: group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Überwachen von Verfügbarkeitsreplikaten

Verwenden Sie zum Überwachen von Verfügbarkeitsreplikaten die folgenden Sichten und Systemfunktion:

  • sys.availability_replicas
    Gibt eine Zeile für jedes Verfügbarkeitsreplikat in jeder Verfügbarkeitsgruppe zurück, für die die lokale Instanz von SQL Server ein Verfügbarkeitsreplikat hostet.

    Spaltennamen: 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
    Gibt eine Zeile für die schreibgeschützte Routingliste aller Verfügbarkeitsreplikate zurück, die zu einer AlwaysOn-Verfügbarkeitsgruppe im WSFC-Failovercluster gehören.

    Spaltennamen: replica_id, routing_priority, read_only_replica_id

  • sys.dm_hadr_availability_replica_cluster_nodes
    Gibt eine Zeile für jedes Verfügbarkeitsreplikat (unabhängig vom Joinzustand) der AlwaysOn-Verfügbarkeitsgruppen im WSFC-Cluster (Windows Server-Failoverclustering) zurück.

    Spaltennamen: group_name, replica_server_name, node_name

  • sys.dm_hadr_availability_replica_cluster_states
    Gibt eine Zeile für jedes Replikat (unabhängig vom Joinzustand) aller AlwaysOn-Verfügbarkeitsgruppen (unabhängig von Replikatspeicherort) im WSFC-Cluster (Windows Server-Failoverclustering) zurück.

    Spaltennamen: replica_id, replica_server_name, group_id, join_state, join_state_desc

  • sys.dm_hadr_availability_replica_states
    Gibt eine Zeile mit dem Status jedes lokalen Verfügbarkeitsreplikats und eine Zeile für jedes Remoteverfügbarkeitsreplikat in derselben Verfügbarkeitsgruppe zurück.

    Spaltennamen: 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
    Bestimmt, ob das aktuelle Replikat das bevorzugte Sicherungsreplikat ist.

HinweisHinweis

Weitere Informationen zu Leistungsindikatoren für Verfügbarkeitsreplikate (das SQLServer:Availability Replica -Leistungsobjekt) finden Sie unter SQL Server, Verfügbarkeitsreplikat.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Überwachen von Verfügbarkeitsdatenbanken

Verwenden Sie zum Überwachen von Verfügbarkeitsdatenbanken die folgenden Sichten:

  • sys.availability_databases_cluster
    Enthält eine Zeile für jede Datenbank in der Instanz von SQL Server, die Teil aller AlwaysOn-Verfügbarkeitsgruppen im Cluster ist, unabhängig davon, ob die lokale Kopie der Datenbank bereits mit der Verfügbarkeitsgruppe verknüpft wurde.

    HinweisHinweis

    Wenn eine Datenbank einer Verfügbarkeitsgruppe hinzugefügt wird, wird die primäre Datenbank automatisch mit der Gruppe verknüpft. Sekundäre Datenbanken müssen auf jedem sekundären Replikat vorbereitet werden, bevor sie mit der Verfügbarkeitsgruppe verknüpft werden können.

    Spaltennamen: group_id, group_database_id, database_name

  • sys.databases
    Enthält eine Zeile für jede Datenbank in der SQL Server-Instanz. Wenn eine Datenbank zu einem Verfügbarkeitsreplikat gehört, zeigt die Zeile für diese Datenbank die GUID des Replikats und den eindeutigen Bezeichner der Datenbank innerhalb der Verfügbarkeitsgruppe an.

    AlwaysOn-Verfügbarkeitsgruppen-Spaltennamen: replica_id, group_database_id

  • sys.dm_hadr_auto_page_repair
    Gibt eine Zeile für jede versuchte automatische Seitenreparatur in einer beliebigen Verfügbarkeitsdatenbank auf einem Verfügbarkeitsreplikat zurück, das von der Serverinstanz für eine beliebige Verfügbarkeitsgruppe gehostet wird. Diese Sicht enthält Zeilen für die letzte automatische Seitenreparatur einer bestimmten primären oder sekundären Datenbank. Pro Datenbank können maximal 100 Zeilen angezeigt werden. Sobald das Maximum in der Datenbank erreicht ist, ersetzt die Zeile bei der nächsten automatischen Seitenreparatur einen der bereits vorhandenen Einträge.

    Spaltennamen: database_id, file_id, page_id, error_type, page_status, modification_time

  • sys.dm_hadr_database_replica_states
    Gibt eine Zeile für jede Datenbank zurück, die an einer Verfügbarkeitsgruppe teilnimmt, für die die lokale Instanz von SQL Server ein Verfügbarkeitsreplikat hostet.

    Spaltennamen: 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
    Gibt eine Zeile mit Informationen zurück, die einen Einblick in den Zustand der Verfügbarkeitsdatenbanken aller Verfügbarkeitsgruppen auf dem WSFC-Cluster (Windows Server-Failoverclustering) geben. Diese dynamische Verwaltungssicht ist nützlich beim Planen oder Reagieren auf ein Failover oder zum Ermitteln des sekundären Replikats in einer Verfügbarkeitsgruppe, das die Protokollkürzung in einer bestimmten primären Datenbank aufhält.

    Spaltennamen: replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn

    HinweisHinweis

    Der primäre Replikatspeicherort ist die autoritative Quelle für eine Verfügbarkeitsgruppe.

HinweisHinweis

Informationen zu AlwaysOn-Verfügbarkeitsgruppen-Leistungsindikatoren für Verfügbarkeitsreplikat-Datenbanken (das SQLServer:Database Replica-Leistungsobjekt) finden Sie unter SQL Server, Datenbankreplikat. Verwenden Sie zum Überwachen der Transaktionsprotokollaktivität auf Verfügbarkeitsdatenbanken die folgenden Indikatoren des SQLServer:Databases-Leistungsobjekts: Wartezeit für Protokollleerung (ms), Protokollleerungen/Sekunde, Protokollpool-Cachefehlversuche/Sekunde, Protokollpool-Lesevorgänge auf dem Datenträger/Sekunde und Protokollpoolanforderungen/Sekunde. Weitere Informationen finden Sie unter SQL Server, Datenbanken-Objekt.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Überwachen von Verfügbarkeitsgruppenlistenern

Zum Überwachen der Verfügbarkeitsgruppenlistener auf Subnetzen des WSFC-Clusters verwenden Sie die folgenden Sichten:

  • sys.availability_group_listener_ip_addresses
    Gibt eine Zeile für jede konforme virtuelle IP-Adresse zurück, die derzeit für einen Verfügbarkeitsgruppenlistener online ist.

    Spaltennamen: 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
    Gibt für eine angegebene Verfügbarkeitsgruppe entweder 0 Zeilen zurück, um anzugeben, dass der Verfügbarkeitsgruppe kein Netzwerkname zugeordnet ist, oder eine Zeile für jede Verfügbarkeitsgruppen-Listenerkonfiguration im WSFC-Cluster.

    Spaltennamen: group_id, listener_id, dns_name, port, is_conformant, ip_configuration_string_from_cluster

  • sys.dm_tcp_listener_states
    Gibt eine Zeile zurück, die Informationen zum dynamischen Status für jeden TCP-Listener enthält.

    Spaltennamen: listener_id, ip_address, is_ipv4, port, type, type_desc, state, state_desc, start_time

    Primärschlüssel: listener_id

Weitere Informationen über Verfügbarkeitsgruppenlistener finden Sie unter Verfügbarkeitsgruppenlistener, Clientkonnektivität und Anwendungsfailover (SQL Server).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwandte Aufgaben

Überwachungsaufgaben für AlwaysOn-Verfügbarkeitsgruppen:

Referenz zum Überwachen von AlwaysOn-Verfügbarkeitsgruppen (Transact-SQL):

AlwaysOn-Leistungsindikatoren:

Richtlinienbasierte Verwaltung für AlwaysOn-Verfügbarkeitsgruppen

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Siehe auch

Konzepte

AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Überwachen von Verfügbarkeitsgruppen (SQL Server)