Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Ten temat pokazuje niektóre z typowych zapytań w dynamicznych widokach zarządzania Always On (DMV), które możesz wykorzystać do monitorowania i rozwiązywania problemów z grupami dostępności.
Wskazówka
W Always On Dashboard możesz łatwo skonfigurować interfejs graficzny tak, aby wyświetlał wiele DMV dla replik dostępności i baz danych dostępności, klikając prawym przyciskiem myszy odpowiedni nagłówek tabeli i wybierając DMV, które chcesz wyświetlić lub ukryć.
Więcej informacji o widokach DMV grup dostępności można znaleźć w temacie Always On Availability Groups — dynamiczne widoki i funkcje zarządzania (Transact-SQL). Więcej informacji na temat widoków katalogowych grup dostępnych można znaleźć w widokach katalogowych Always On Availability Groups (Transact-SQL).
Sprawdź konfigurację węzłów klastra WSFC
Następujące zapytanie Transact-SQL (T-SQL) pobiera status wszystkich węzłów w obecnym klastrze Windows Server Failover Clustering (WSFC).
use master
go
select * from sys.dm_hadr_cluster_members
go
Ten zestaw wyników raportuje status każdego węzła członkowskiego obecnego klastra WSFC. Jeśli kworum jest zdefiniowane jako większość w udziale węzłów i plików, raportowane jest nawet udostępnianie plików. Możesz zobaczyć status każdego węzła, w tym wagę głosów każdego węzła (wartość number_of_quorum_votes ).
Poznaj sieć klastrów
Poniższe zapytanie pobiera konfigurację sieci obecnego klastra WSFC.
select * from sys.dm_hadr_cluster_networks
Zestaw wyników zawiera jeden wiersz dla każdej karty sieciowej w klastrze WSFC. Na przykład w klastrze dwuwęzłowym, który zawiera po dwie karty sieciowe na każdym węźle, to zapytanie zwraca cztery wiersze.
Poznaj grupy dostępności
Poniższe zapytanie pobiera informacje o grupie dostępności.
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
DMV sys.dm_hadr_availability_group_states (Transact-SQL), sys.availability_groups (Transact-SQL) i sys.availability_groups_cluster wszystkie zwracają informacje o grupach dostępności w obecnym klastrze WSFC. W rzeczywistości sys.availability_groups (Transact-SQL) i sys.availability_groups_cluster wydają się zwracać identyczne informacje.
Jednak sys.availability_groups_cluster raportuje metadane grup dostępności przechowywane w klastrze WSFC, podczas gdy sys.availability_groups (Transact-SQL) raportuje metadane grupy dostępności, które są buforowane w przestrzeni procesów SQL Server. Ponadto te dwa DMV raportują informacje konfiguracyjne, podczas gdy sys.dm_hadr_availability_group_states (Transact-SQL ) raportuje aktualny stan zdrowia grup dostępności.
Ważna
Ta nomenklatura jest kontynuowana w DMV, które dokumentują repliki dostępności i bazy danych dostępności.
Poznaj repliki wysokiej dostępności
Poniższe zapytanie pobiera informacje o replikach dostępności zdefiniowanych w twoich grupach dostępności.
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
Podobnie jak w przypadku widoków DMV grupy dostępności, można znaleźć trzy widoki DMV dostarczające informacje o replikach dostępności. sys.dm_hadr_availability_replica_states udostępnia informacje o stanie replik dostępności, które są lokalnie przechowywane w pamięci podręcznej programu SQL Server, a sys.dm_hadr_availability_replica_cluster_states udostępnia informacje o stanie replik dostępności z klastra WSFC. Na koniec sys.availability_replicas raportuje dane konfiguracyjne na replikach dostępności, które są lokalnie buforowane w SQL Server.
Sprawdź dostępność repliki zdrowia
Poniższe zapytanie pobiera aktualne informacje o kondycji replik dostępności.
select replica_id, role_desc, recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states
go
Porównaj wyniki zapytań dla repliki pierwotnej i repliki wtórnej i zauważ, że na repliki wtórnej informacje o stanie są raportowane tylko dla tej repliki, a nie dla żadnej innej repliki w grupie dostępności.
Sprawdź bazy danych dostępności
Poniższe zapytanie pobiera informacje o replikach dostępności zdefiniowanych w twojej grupie dostępności. Możesz zaobserwować zmiany w wynikach zapytań przed i po zawieszeniu ruchu danych w bazie dostępności.
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
I tutaj trzy DMV Always On raportują bazy danych dostępności. sys.availability_databases_cluster raportuje informacje konfiguracyjne dotyczące baz danych dostępności z klastra WSFC. sys.dm_hadr_database_replica_cluster_states zawiera informacje o stanie replik baz danych, buforowane lokalnie w programie SQL Server. Zawiera ważne informacje o stanie, takie jak gotowość repliki dostępności. Wreszcie, sys.dm_hadr_database_replica_states jest bardzo rozbudowanym zestawem wyników, który raportuje informacje o tożsamości i stanie w każdej dostępnościowej bazie danych, takie jak informacje o postępach LSN dla logów replik bazy głównej i wtórnej.
Sprawdź kondycję bazy danych dostępności
Poniższe zapytanie pobiera informacje o stanie kondycji baz danych dostępności na replikach. Możesz zaobserwować zmiany w wynikach zapytań przed i po zawieszeniu ruchu danych w bazie dostępności.
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