Динамические административные представления и представления системного каталога (группы доступности 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