Bagikan melalui


Tampilan manajemen dinamis dan tampilan katalog sistem (Grup Ketersediaan AlwaysOn)

Berlaku untuk:SQL Server

Topik ini menunjukkan beberapa kueri umum pada tampilan manajemen dinamis AlwaysOn (DMV) yang dapat Anda gunakan untuk memantau dan memecahkan masalah grup ketersediaan.

Tip

Di Dasbor Always On, Anda dapat dengan mudah mengonfigurasi GUI untuk menampilkan banyak DMV untuk replika ketersediaan dan database ketersediaan dengan mengklik kanan header tabel masing-masing dan memilih DMV yang ingin Anda tampilkan atau sembunyikan.

Untuk informasi selengkapnya tentang DMV grup ketersediaan, lihat Tampilan dan fungsi manajemen dinamis Grup Ketersediaan AlwaysOn (Transact-SQL). Untuk informasi selengkapnya tentang tampilan katalog grup ketersediaan, lihat Tampilan katalog Grup Ketersediaan AlwaysOn (Transact-SQL).

Periksa konfigurasi node kluster WSFC

Kueri Transact-SQL (T-SQL) berikut mengambil status semua simpul di kluster Windows Server Failover Clustering (WSFC) saat ini.

use master  
go  
select * from sys.dm_hadr_cluster_members  
go  

Kumpulan hasil ini melaporkan status setiap simpul anggota dari kluster WSFC saat ini. Jika kuorum didefinisikan sebagai Node dan File Share Majority, bahkan berbagi file dilaporkan. Anda dapat melihat status setiap simpul, termasuk bobot pemungutan suara setiap simpul (nilai number_of_quorum_votes ).

Menjelajahi jaringan kluster

Kueri berikut mengambil konfigurasi jaringan kluster WSFC saat ini.

select * from sys.dm_hadr_cluster_networks  

Tataan hasil berisi satu baris untuk setiap adaptor jaringan di kluster WSFC. Misalnya, dalam kluster dua simpul yang berisi dua adaptor jaringan pada setiap simpul, kueri ini mengembalikan empat baris.

Menjelajahi grup ketersediaan

Kueri berikut mengambil informasi tentang grup ketersediaan.

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), dan sys.availability_groups_cluster semua informasi pengembalian tentang grup ketersediaan di kluster WSFC saat ini. Bahkan, sys.availability_groups (Transact-SQL), dan sys.availability_groups_cluster tampaknya mengembalikan informasi yang identik.

Namun, sys.availability_groups_cluster melaporkan metadata grup ketersediaan yang disimpan di Kluster WSFC, sedangkan sys.availability_groups (Transact-SQL) melaporkan metadata grup ketersediaan yang di-cache di ruang proses SQL Server. Selain itu, kedua DMV ini melaporkan informasi konfigurasi sedangkan sys.dm_hadr_availability_group_states (Transact-SQL) melaporkan status kesehatan grup ketersediaan saat ini.

Penting

Nomenklatur ini diteruskan dengan DMV yang mendokuensikan replika ketersediaan dan database ketersediaan.

Menjelajahi replika ketersediaan

Kueri berikut mengambil informasi tentang replika ketersediaan yang ditentukan dalam grup ketersediaan Anda.

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  

Mirip dengan DMV grup ketersediaan, Anda menemukan tiga DMV yang melaporkan replika ketersediaan. sys.dm_hadr_availability_replica_states melaporkan informasi status tentang replika ketersediaan yang di-cache secara lokal di SQL Server, dan sys.dm_hadr_availability_replica_cluster_states melaporkan informasi status tentang replika ketersediaan dari kluster WSFC. Terakhir, sys.availability_replicas melaporkan data konfigurasi pada replika ketersediaan, yang di-cache secara lokal di SQL Server.

Menjelajahi kesehatan replika ketersediaan

Kueri berikut mengambil informasi kesehatan saat ini tentang replika ketersediaan.

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

Bandingkan hasil kueri pada replika utama dan pada replika sekunder dan perhatikan bahwa pada replika sekunder, informasi kesehatan hanya dilaporkan untuk replika tersebut dan bukan untuk replika lain dalam grup ketersediaan.

Menjelajahi database ketersediaan

Kueri berikut mengambil informasi tentang replika ketersediaan yang ditentukan dalam grup ketersediaan Anda. Anda bisa mengamati perubahan hasil kueri sebelum dan sesudah Anda menangguhkan pergerakan data pada database ketersediaan.

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  

Di sini lagi, tiga DMV AlwaysOn melaporkan database ketersediaan. sys.availability_databases_cluster melaporkan informasi konfigurasi tentang database ketersediaan dari kluster WSFC. sys.dm_hadr_database_replica_cluster_states melaporkan informasi status tentang replika database, yang di-cache secara lokal di SQL Server. Ini berisi beberapa informasi status penting, seperti kesiapan failover replika ketersediaan. Akhirnya, sys.dm_hadr_database_replica_states adalah kumpulan hasil yang sangat verbose yang melaporkan informasi identitas dan status pada setiap database ketersediaan, seperti informasi kemajuan LSN untuk log replika database utama dan sekunder.

Menjelajahi kesehatan database ketersediaan

Kueri berikut mengambil informasi tentang kesehatan setiap database ketersediaan pada replika. Anda bisa mengamati perubahan hasil kueri sebelum dan sesudah Anda menangguhkan pergerakan data pada database ketersediaan.

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