Dynamische Verwaltungssichten und Systemkatalogsichten (Always On-Verfügbarkeitsgruppen)

Gilt für:SQL Server

In diesem Thema werden einige allgemeine Abfragen zu dynamischen Verwaltungssichten (DMV) für Always On-Verfügbarkeitsgruppen vorgestellt, mit der Sie Verfügbarkeitsgruppen überwachen und damit verbundene Probleme behandeln können.

Tipp

Auf dem Always On-Dashboard können Sie mühelos die GUI so konfigurieren, dass eine Vielzahl der DMVs für die Verfügbarkeitsreplikate und -datenbanken angezeigt wird. Klicken Sie hierzu mit der rechten Maustaste auf die jeweilige Tabellenüberschrift, und wählen Sie die anzuzeigende oder auszublendende DMV aus.

Weitere Informationen zu den DMVs für Verfügbarkeitsgruppen finden Sie unter Dynamische Verwaltungssichten und-Funktionen für Always On-Verfügbarkeitsgruppen (Transact-SQL). Weitere Informationen zu den Katalogsichten für Verfügbarkeitsgruppen finden Sie unter Katalogsichten für Always On-Verfügbarkeitsgruppen (Transact-SQL).

Überprüfen der Konfiguration von WSFC-Clusterknoten

Die folgende Transact-SQL-Abfrage (T-SQL) ruft den Status aller Knoten im aktuellen WSFC-Cluster (Windows Server-Failoverclustering) ab.

use master  
go  
select * from sys.dm_hadr_cluster_members  
go  

Dieses Resultset meldet den Status der einzelnen Memberknoten des aktuellen WSFC-Clusters. Wenn das Quorum als Knoten- und Dateifreigabemehrheit definiert ist, wird auch die Dateifreigabe gemeldet. Sie können den Status der einzelnen Knoten einsehen, wie etwa die Abstimmungsverteilung der einzelnen Knoten (den Wert number_of_quorum_votes).

Untersuchen des Clusternetzwerks

Die folgende Abfrage ruft die Netzwerkkonfiguration des aktuellen WSFC-Clusters ab.

select * from sys.dm_hadr_cluster_networks  

Das Resultset enthält eine Zeile für jeden Netzwerkadapter im WSFC-Cluster. In einem Cluster mit zwei Knoten, der zwei Netzwerkadapter für jeden Knoten enthält, gibt diese Abfrage beispielsweise vier Zeilen zurück.

Untersuchen der Verfügbarkeitsgruppen

Die folgende Abfrage ruft Informationen zu einer Verfügbarkeitsgruppe ab.

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  

Die DMVs sys.dm_hadr_availability_group_states (Transact-SQL), sys.availability_groups (Transact-SQL) und sys.availability_groups_cluster geben Informationen zu den Verfügbarkeitsgruppen im aktuellen WSFC-Cluster zurück. So geben etwa sys.availability_groups (Transact-SQL) und sys.availability_groups_cluster scheinbar identische Informationen zurück.

sys.availability_groups_cluster meldet allerdings die im WSFC-Cluster gespeicherten Metadaten der Verfügbarkeitsgruppen, während sys.availability_groups (Transact-SQL) Metadaten der Verfügbarkeitsgruppen meldet, die im SQL Server-Prozessadressraum zwischengespeichert werden. Darüber hinaus melden diese beiden DMVs Konfigurationsinformationen, wohingegen sys.dm_hadr_availability_group_states (Transact-SQL) den aktuellen Integritätsstatus der Verfügbarkeitsgruppen meldet.

Wichtig

Diese Nomenklatur wird mit den DMVs fortgeführt, die Verfügbarkeitsreplikate und -datenbanken dokumentieren.

Untersuchen der Verfügbarkeitsreplikate

Die folgende Abfrage ruft Informationen zu den Verfügbarkeitsreplikaten ab, die in Ihren Verfügbarkeitsgruppen definiert sind.

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  

Ähnlich wie bei den DMVs der Verfügbarkeitsgruppen sind drei DMVs vorhanden, die Informationen zu Verfügbarkeitsreplikaten melden. sys.dm_hadr_availability_replica_states meldet Zustandsinformationen zu den Verfügbarkeitsreplikaten, die lokal in SQL Server zwischengespeichert werden, während sys.dm_hadr_availability_replica_cluster_states Zustandsinformationen zu den Verfügbarkeitsreplikaten aus dem WSFC-Cluster meldet. Zu guter Letzt meldet availability_replicas Konfigurationsdaten zu den Verfügbarkeitsreplikaten, die lokal in SQL Server zwischengespeichert werden.

Untersuchen der Integrität von Verfügbarkeitsreplikaten

Die folgende Abfrage ruft aktuelle Zustandsinformationen zu den Verfügbarkeitsreplikaten ab.

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

Vergleichen Sie die Abfrageergebnisse für das primäre Replikat mit denen für das sekundäre Replikat, und beachten Sie, dass für das sekundäre Replikat nur Integritätsinformationen für dieses Replikat gemeldet werden, nicht für andere Replikate in der Verfügbarkeitsgruppe.

Untersuchen der Verfügbarkeitsdatenbanken

Die folgende Abfrage ruft Informationen zu den Verfügbarkeitsreplikaten ab, die in Ihrer Verfügbarkeitsgruppe definiert sind. Sie können die Änderung in den Abfrageergebnissen sehen, bevor und nachdem Sie die Datenverschiebung in einer Verfügbarkeitsdatenbank angehalten haben.

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  

Auch hier melden drei DMVs für Always On-Verfügbarkeitsgruppen Informationen zu Verfügbarkeitsdatenbanken. sys.availability_databases_cluster meldet Konfigurationsinformationen zu Verfügbarkeitsdatenbanken aus dem WSFC-Cluster. sys.dm_hadr_database_replica_cluster_states meldet Zustandsinformationen zu den Datenbankreplikaten, die lokal in SQL Server zwischengespeichert werden. Es enthält wichtige Zustandsinformationen wie etwa die Failoverbereitschaft des Verfügbarkeitsreplikats. Zu guter Letzt meldet ein sehr ausführliches Resultset, sys.dm_hadr_database_replica_states, Identitäts- und Statusinformationen zu jeder Verfügbarkeitsdatenbank wie LSN-Statusinformationen für die Protokolle der primären und sekundären Datenbankreplikate.

Untersuchen der Integrität von Verfügbarkeitsdatenbanken

Die folgende Abfrage ruft Informationen zur Integrität der einzelnen Verfügbarkeitsdatenbanken für die Replikate ab. Sie können die Änderung in den Abfrageergebnissen sehen, bevor und nachdem Sie die Datenverschiebung in einer Verfügbarkeitsdatenbank angehalten haben.

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