Memantau Grup Ketersediaan (Transact-SQL)

Berlaku untuk:SQL Server

Untuk memantau grup ketersediaan dan replika dan database terkait dengan menggunakan Transact-SQL, grup ketersediaan AlwaysOn menyediakan sekumpulan katalog dan tampilan manajemen dinamis dan properti server. Dengan menggunakan pernyataan TRANSACT-SQL SELECT, Anda dapat menggunakan tampilan untuk memantau grup ketersediaan serta replika dan databasenya. Informasi yang dikembalikan untuk grup ketersediaan tertentu tergantung pada apakah Anda terhubung ke instans SQL Server yang menghosting replika utama atau replika sekunder.

Tip

Banyak dari tampilan ini dapat digabungkan menggunakan kolom ID mereka untuk mengembalikan informasi dari beberapa tampilan dalam satu kueri.

Izin

Tampilan katalog grup ketersediaan AlwaysOn memerlukan izin TAMPILKAN DEFINISI APA PUN pada instans server. Tampilan manajemen dinamis grup ketersediaan AlwaysOn memerlukan izin TAMPILKAN STATUS SERVER di server.

Memantau Fitur Grup Ketersediaan AlwaysOn pada Instans Server

Untuk memantau fitur grup ketersediaan AlwaysOn pada instans server, gunakan fungsi bawaan berikut:

Fungsi SERVERPROPERTY
Mengembalikan informasi properti server tentang apakah grup ketersediaan AlwaysOn diaktifkan dan, jika demikian, apakah itu telah dimulai pada instans server.

Nama kolom: IsHadrEnabled, HadrManagerStatus

Memantau Grup Ketersediaan pada Kluster WSFC

Untuk memantau kluster Windows Server Failover Clustering (WSFC) yang menghosting instans server lokal yang diaktifkan untuk grup ketersediaan AlwaysOn, gunakan tampilan berikut:

sys.dm_hadr_cluster
Jika simpul Windows Server Failover Clustering (WSFC) yang menghosting instans SQL Server dengan grup ketersediaan AlwaysOn diaktifkan memiliki kuorum WSFC, sys.dm_hadr_cluster mengembalikan baris yang mengekspos nama kluster dan informasi tentang kuorum. Jika simpul WSFC tidak memiliki kuorum, tidak ada baris yang dikembalikan.

Nama kolom: cluster_name, quorum_type, quorum_type_desc, quorum_state, quorum_state_desc

sys.dm_hadr_cluster_members
Jika simpul WSFC yang menghosting instans SQL Server lokal yang selalu aktif memiliki kuorum WSFC, mengembalikan baris untuk setiap anggota yang merupakan kuorum dan status masing-masing.

Nama kolom: member_name, member_type, member_type_desc, member_state, member_state_desc, number_of_quorum_votes

sys.dm_hadr_cluster_networks
Mengembalikan baris untuk setiap anggota yang berpartisipasi dalam konfigurasi subnet grup ketersediaan. Anda dapat menggunakan tampilan manajemen dinamis ini untuk memvalidasi IP virtual jaringan yang dikonfigurasi untuk setiap replika ketersediaan.

Nama kolom: member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4

Kunci primer: member_name + network_subnet_IP + network_subnet_prefix_length

sys.dm_hadr_instance_node_map
Untuk setiap instans SQL Server yang menghosting replika ketersediaan yang bergabung ke grup ketersediaan AlwaysOn-nya, mengembalikan nama node Windows Server Failover Clustering (WSFC) yang menghosting instans server. Tampilan manajemen dinamis ini memiliki penggunaan berikut:

  • Tampilan manajemen dinamis ini berguna untuk mendeteksi grup ketersediaan dengan beberapa replika ketersediaan yang dihosting pada node WSFC yang sama, yang merupakan konfigurasi yang tidak didukung yang dapat terjadi setelah failover FCI jika grup ketersediaan salah dikonfigurasi.

  • Ketika beberapa instans SQL Server dihosting pada simpul WSFC yang sama, DLL Sumber Daya menggunakan tampilan manajemen dinamis ini untuk menentukan instans SQL Server yang akan disambungkan.

Nama kolom: ag_resource_id, instance_name, node_name

sys.dm_hadr_name_id_map
Memperlihatkan pemetaan grup ketersediaan AlwaysOn yang digabungkan instans SQL Server saat ini ke tiga ID unik: ID grup ketersediaan, ID sumber daya WSFC, dan ID Grup WSFC. Tujuan dari pemetaan ini adalah untuk menangani skenario di mana sumber daya/grup WSFC diganti namanya.

Nama kolom: ag_name, ag_id, ag_resource_id, ag_group_id

Catatan

Lihat juga sys.dm_hadr_availability_replica_cluster_nodes dan sys.dm_hadr_availability_replica_cluster_states di bagian Memantau Replika Ketersediaan dan sys.availability_databases_cluster dan sys.dm_hadr_database_replica_cluster_states di bagian Memantau Database Ketersediaan, nanti dalam topik ini.

Untuk informasi tentang kluster WSFC dan grup ketersediaan AlwaysOn, lihat Pengklusteran Failover Windows Server (WSFC) dengan SQL Server dan Pengklusteran Failover dan Grup Ketersediaan AlwaysOn (SQL Server).

Memantau Grup Ketersediaan

Untuk memantau grup ketersediaan tempat instans server menghosting replika ketersediaan, gunakan tampilan berikut:

sys.availability_groups
Mengembalikan baris untuk setiap grup ketersediaan tempat instans lokal SQL Server menghosting replika ketersediaan. Setiap baris berisi salinan metadata grup ketersediaan yang di-cache.

Nama kolom: group_id, nama, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc

sys.availability_groups_cluster
Mengembalikan baris untuk setiap grup ketersediaan di kluster WSFC. Setiap baris berisi metadata grup ketersediaan dari kluster Windows Server Failover Clustering (WSFC).

Nama kolom: group_id, nama, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc

sys.dm_hadr_availability_group_states
Mengembalikan baris untuk setiap grup ketersediaan yang memiliki replika ketersediaan pada instans lokal SQL Server. Setiap baris menampilkan status yang menentukan kesehatan grup ketersediaan tertentu.

Nama kolom: group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc

Memantau Replika Ketersediaan

Untuk memantau replika ketersediaan, gunakan tampilan dan fungsi sistem berikut:

sys.availability_replicas
Mengembalikan baris untuk setiap replika ketersediaan di setiap grup ketersediaan tempat instans lokal SQL Server menghosting replika ketersediaan.

Nama kolom: 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
Mengembalikan baris untuk daftar perutean baca saja dari setiap replika ketersediaan dalam grup ketersediaan AlwaysOn di kluster failover WSFC.

Nama kolom: replica_id, routing_priority, read_only_replica_id

sys.dm_hadr_availability_replica_cluster_nodes
Mengembalikan baris untuk setiap replika ketersediaan (terlepas dari status gabungan) dari grup ketersediaan AlwaysOn di kluster Windows Server Failover Clustering (WSFC).

Nama kolom: group_name, replica_server_name, node_name

sys.dm_hadr_availability_replica_cluster_states
Mengembalikan baris untuk setiap replika (terlepas dari status gabungan) dari semua grup ketersediaan AlwaysOn (terlepas dari lokasi replika) di kluster Windows Server Failover Clustering (WSFC).

Nama kolom: replica_id, replica_server_name, group_id, join_state, join_state_desc

sys.dm_hadr_availability_replica_states
Mengembalikan baris yang memperlihatkan status setiap replika ketersediaan lokal dan baris untuk setiap replika ketersediaan jarak jauh dalam grup ketersediaan yang sama.

Nama kolom: replica_id, group_id, is_local, peran, 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, dan last_connect_error_timestamp

sys.fn_hadr_backup_is_preferred_replica
Menentukan apakah replika saat ini adalah replika cadangan pilihan.

Catatan

Untuk informasi tentang penghitung kinerja untuk replika ketersediaan ( objek performa SQLServer:Availability Replica ), lihat SQL Server, Replika Ketersediaan.

Memantau Database Ketersediaan

Untuk memantau database ketersediaan, gunakan tampilan berikut:

sys.availability_databases_cluster
Berisi satu baris untuk setiap database pada instans SQL Server yang merupakan bagian dari semua Grup Ketersediaan AlwaysOn di kluster, terlepas dari apakah database salinan lokal telah bergabung ke grup ketersediaan.

Catatan

Saat database ditambahkan ke grup ketersediaan, database utama secara otomatis bergabung ke grup. Database sekunder harus disiapkan pada setiap replika sekunder sebelum dapat digabungkan ke grup ketersediaan.

Nama kolom: group_id, group_database_id, database_name

sys.databases
Berisi satu baris per database dalam instans SQL Server. Jika database milik replika ketersediaan, baris untuk database tersebut menampilkan GUID replika dan pengidentifikasi unik database dalam grup ketersediaannya.

Nama kolom grup ketersediaan AlwaysOn: replica_id, group_database_id

sys.dm_hadr_auto_page_repair
Mengembalikan baris untuk setiap upaya perbaikan halaman otomatis pada database ketersediaan apa pun pada replika ketersediaan yang dihosting untuk grup ketersediaan apa pun oleh instans server. Tampilan ini berisi baris untuk upaya perbaikan halaman otomatis terbaru pada database utama atau sekunder tertentu, dengan maksimum 100 baris per database. Segera setelah database mencapai maksimum, baris untuk upaya perbaikan halaman otomatis berikutnya menggantikan salah satu entri yang ada.

Nama kolom: database_id, file_id, page_id, error_type, page_status, modification_time

sys.dm_hadr_database_replica_states
Mengembalikan baris untuk setiap database yang berpartisipasi dalam grup ketersediaan apa pun di mana instans lokal SQL Server menghosting replika ketersediaan.

Nama kolom: 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
Mengembalikan baris yang berisi informasi yang dimaksudkan untuk memberi Anda wawasan tentang kesehatan database ketersediaan di setiap grup ketersediaan pada kluster Windows Server Failover Clustering (WSFC). Tampilan manajemen dinamis ini berguna saat merencanakan atau merespons failover atau untuk menemukan replika sekunder mana dalam grup ketersediaan yang menahan pemotongan log pada database utama tertentu.

Nama kolom: replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn

Catatan

Lokasi replika utama adalah sumber otoritatif untuk grup ketersediaan.

Catatan

Untuk informasi tentang penghitung kinerja grup ketersediaan AlwaysOn untuk database ketersediaan ( objek performa SQLServer:Database Replica ), lihat SQL Server, Replika Database. Selain itu, untuk memantau aktivitas log transaksi pada database ketersediaan, gunakan penghitung berikut dari objek performa SQLServer:Databases : Log Flush Write Time (ms), Log Flush/detik, Log Pool Cache Misses/detik, Log Pool Disk Reads/detik, dan Log Pool Requests/dtk. Untuk informasi selengkapnya, lihat SQL Server, Objek Database.

Memantau Listener Grup Ketersediaan

Untuk memantau listener grup ketersediaan pada subnet kluster WSFC, gunakan tampilan berikut:

sys.availability_group_listener_ip_addresses
Mengembalikan baris untuk setiap alamat IP virtual yang sesuai yang saat ini online untuk pendengar grup ketersediaan.

Nama kolom: listener_id, ip_address, ip_subnet_mask, is_dhcp, network_subnet_ip, network_subnet_prefix_length, network_subnet_ipv4_mask, status, state_desc

sys.availability_group_listeners
Untuk grup ketersediaan tertentu, mengembalikan baris nol yang menunjukkan bahwa tidak ada nama jaringan yang terkait dengan grup ketersediaan, atau mengembalikan baris untuk setiap konfigurasi pendengar grup ketersediaan di kluster WSFC.

Nama kolom: group_id, listener_id, dns_name, port, is_conformant, ip_configuration_string_from_cluster

sys.dm_tcp_listener_states
Mengembalikan baris yang berisi informasi status dinamis untuk setiap pendengar TCP.

Nama kolom: listener_id, ip_address, is_ipv4, port, jenis, type_desc, status, state_desc, start_time

Kunci primer: listener_id

Untuk informasi tentang pendengar grup ketersediaan, lihat Listener Grup Ketersediaan, Koneksi ivitas Klien, dan Failover Aplikasi (SQL Server).

Tugas Terkait

Tugas pemantauan Grup Ketersediaan AlwaysOn:

Referensi pemantauan Grup Ketersediaan AlwaysOn (Transact-SQL):

Penghitung kinerja AlwaysOn:

Manajemen berbasis kebijakan untuk Grup Ketersediaan AlwaysOn

Lihat Juga

Grup Ketersediaan Always On (SQL Server)
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Pemantauan Grup Ketersediaan (SQL Server)