Поделиться через


Динамические административные представления и представления системного каталога (группы доступности AlwaysOn)

Область применения: SQL Server

Этот раздел содержит некоторые типичные запросы в динамических административных представлениях AlwaysOn, которые можно использовать для мониторинга и диагностики групп доступности.

Совет

В панели мониторинга AlwaysOn можно легко настроить графический интерфейс для отображения множества динамических административных представлений для реплик доступности и баз данных доступности, щелкнув заголовок таблицы правой кнопкой мыши и выбрав представление, которое нужно отобразить или скрыть.

Дополнительные сведения о динамических административных представлениях для групп доступности см. в разделе одинамических административных представлениях и функциях, связанных с группами доступности Always On (Transact-SQL). Дополнительные сведения о представлениях каталога для групп доступности см. в разделе о представлениях каталога групп доступности Always On (Transact-SQL).

Проверка параметров конфигурации для узла кластера WSFC

Приведенный ниже запрос Transact-SQL (T-SQL) возвращает состояние всех узлов в текущем кластере отказоустойчивой кластеризации Windows Server (WSFC).

use master  
go  
select * from sys.dm_hadr_cluster_members  
go  

Этот результирующий набор сообщает состояние каждого узла элемента текущего кластера WSFC. Если кворум определен как Большинство узлов и общих папок, сообщается даже общая папка. Можно просмотреть состояние каждого узла, включая его вес при голосовании (значение number_of_quorum_votes).

Просмотр сети кластера

Приведенный ниже запрос возвращает конфигурацию сети для текущего кластера WSFC.

select * from sys.dm_hadr_cluster_networks  

Результирующий набор содержит по одной строке для каждого сетевого адаптера в кластере WSFC. Например, в кластере из двух узлов, содержащем два сетевых адаптера на каждом узле, этот запрос возвращает четыре строки.

Просмотр групп доступности

Приведенный ниже запрос возвращает сведения о группе доступности.

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  

Динамические административные представления sys.dm_hadr_availability_group_states (Transact-SQL), sys.availability_groups (Transact-SQL) и sys.availability_groups_cluster возвращают сведения о группах доступности в текущем кластере WSFC. По сути, кажется, что sys.availability_groups (Transact-SQL), и sys.availability_groups_cluster возвращают одинаковые сведения.

Тем не менее sys.availability_groups_cluster предоставляет отчет о метаданных группы доступности, хранящиеся в кластере WSFC, а sys.availability_groups (Transact-SQL) — о метаданных группы доступности, кэшированных в пространстве процесса SQL Server. Кроме того, два этих динамических административных представления предоставляют сведения о конфигурации, тогда как sys.dm_hadr_availability_group_states (Transact-SQL) сообщает о текущем состоянии работоспособности для групп доступности.

Внимание

Эту номенклатуру дополняют динамические административные представления, документирующие реплики доступности и базы данных доступности.

Просмотр реплик доступности

Приведенный ниже запрос возвращает сведения о репликах доступности, определенных в группах доступности.

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  

Как и в случае с динамическими административными представлениями группы доступности, имеется три представления, сообщающих о репликах доступности. sys.dm_hadr_availability_replica_states сообщает сведения о состоянии для реплик доступности, кэшированных локально в SQL Server, а sys.dm_hadr_availability_replica_cluster_states — сведения о состоянии для реплик доступности из кластера WSFC. Наконец, sys.availability_replicas сообщает данные о конфигурации для реплик доступности, кэшированных локально в SQL Server.

Просмотр работоспособности реплик доступности

Приведенный ниже запрос возвращает актуальные сведения о работоспособности для реплик доступности.

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

Сравните результаты запроса на первичной и вторичной репликах и обратите внимание, что на вторичной реплике сведения о работоспособности указываются только для этой реплики и ни для каких других реплик в группе доступности.

Просмотр баз данных доступности

Приведенный ниже запрос возвращает сведения о репликах доступности, определенных в группе доступности. Вы можете заметить изменение в результатах запроса до и после приостановки перемещения данных в базе данных доступности.

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  

Здесь сведения о базах данных доступности опять сообщают три динамических административных представления. sys.availability_databases_cluster сообщает сведения о конфигурации для баз данных доступности из кластера WSFC. sys.dm_hadr_database_replica_cluster_states сообщает сведения о состоянии для реплик базы данных, кэшированных локально в SQL Server. Оно содержит некоторые важные сведения о состоянии, например готовность реплики доступности к переходу на другой ресурс. Наконец, sys.dm_hadr_database_replica_states является очень подробным результирующим набором, который сообщает сведения об удостоверении и состоянии для каждой базы данных доступности, например сведения о номерах LSN для журналов первичной и вторичной реплик базы данных.

Просмотр работоспособности баз данных доступности

Приведенный ниже запрос возвращает сведения о работоспособности для каждой из баз данных в репликах. Вы можете заметить изменение в результатах запроса до и после приостановки перемещения данных в базе данных доступности.

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