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


Мониторинг групп доступности (Transact-SQL)

Для мониторинга групп доступности и реплик, а также связанных баз данных с помощью Transact-SQL, Always On Availability Groups предоставляет набор представлений каталога, динамических административных представлений и свойств сервера. С помощью инструкций SELECT Transact-SQL можно использовать представления для мониторинга групп доступности и их реплик и баз данных. Сведения, возвращаемые для данной группы доступности, зависят от того, подключены ли вы к экземпляру SQL Server, на котором размещена первичная реплика или вторичная реплика.

Подсказка

Многие из этих представлений можно объединить с помощью столбцов идентификатора для возврата информации из нескольких представлений в одном запросе.

Разрешения

Для представлений каталога групп доступности AlwaysOn требуется разрешение VIEW ANY DEFINITION на экземпляре сервера. Для динамических административных представлений групп доступности AlwaysOn требуется разрешение VIEW SERVER STATE на сервере.

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

Чтобы отслеживать функцию групп доступности AlwaysOn на экземпляре сервера, используйте следующую встроенную функцию:

Функция SERVERPROPERTY
Возвращает сведения о свойстве сервера о том, включена ли группа доступности AlwaysOn и, если да, запущена ли она на экземпляре сервера.

Имена столбцов: IsHadrEnabled, HadrManagerStatus

Мониторинг групп доступности в кластере WSFC

Для мониторинга кластера отказоустойчивой кластеризации Windows Server (WSFC), на котором размещен локальный экземпляр сервера, который включен для групп доступности AlwaysOn, используйте следующие представления:

sys.dm_hadr_cluster
Если узел отказоустойчивой кластеризации Windows Server (WSFC), на котором размещен экземпляр SQL Server с включенными группами доступности AlwaysOn, имеет кворум WSFC, sys.dm_hadr_cluster возвращает строку, которая предоставляет имя кластера и сведения о кворуме. Если узел WSFC не имеет кворума, строки не возвращаются.

Имена столбцов: cluster_name, quorum_type, quorum_type_desc, quorum_state, quorum_state_desc

sys.dm_hadr_cluster_members
Если узел WSFC, на котором размещен локальный экземпляр SQL Server с поддержкой AlwaysOn, имеет кворум WSFC, возвращается строка для каждого из членов, составляющих кворум, и состояние каждого из них.

Имена столбцов: member_name, member_type, member_type_desc member_state, member_state_desc, number_of_quorum_votes

sys.dm_hadr_cluster_networks
Возвращает строку для каждого члена, который участвует в конфигурации подсети группы доступности. Это динамическое представление управления можно использовать для проверки виртуального IP-адреса сети, настроенного для каждой реплики доступности.

Имена столбцов: member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4

Первичный ключ: member_name + network_subnet_IP + network_subnet_prefix_length

sys.dm_hadr_instance_node_map
Для каждого экземпляра SQL Server, на котором размещена реплика доступности, присоединенная к группе доступности AlwaysOn, возвращает имя узла отказоустойчивой кластеризации Windows Server (WSFC), на котором размещен экземпляр сервера. Это динамическое административное представление использует следующее:

  • Это динамическое представление управления доступностью полезно для обнаружения группы доступности с несколькими репликами, размещенными на одном узле WSFC. Это неподдерживаемая конфигурация, которая может возникнуть после сбоя FCI, если группа доступности была настроена неправильно.

  • При размещении нескольких экземпляров SQL Server на одном узле WSFC библиотека ресурсов использует это динамическое административное представление для определения экземпляра SQL Server для подключения.

Имена столбцов: ag_resource_id, instance_name, node_name

sys.dm_hadr_name_id_map
Показывает сопоставление групп доступности AlwaysOn, присоединенных к текущему экземпляру SQL Server, к трем уникальным идентификаторам: идентификатору группы доступности, идентификатору ресурса WSFC и идентификатору группы WSFC. Целью этого сопоставления является обработка сценария, в котором переименовывается ресурс или группа WSFC.

Имена столбцов: ag_name, ag_id, ag_resource_id, ag_group_id

Замечание

См. также sys.dm_hadr_availability_replica_cluster_nodes и sys.dm_hadr_availability_replica_cluster_states в разделе "Мониторинг реплик доступности" и sys.availability_databases_cluster и sys.dm_hadr_database_replica_cluster_states в разделе "Мониторинг баз данных доступности" далее в этом разделе.

Сведения о кластерах WSFC и группах доступности AlwaysOn см. в разделе "Отказоустойчивая кластеризация Windows Server" (WSFC) с помощью SQL Server и отказоустойчивой кластеризации и групп доступности AlwaysOn (SQL Server).

Мониторинг групп доступности

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

sys.availability_groups
Возвращает по строке для каждой группы доступности, для которой в локальном экземпляре SQL Server размещена реплика доступности. Каждая строка содержит кэшированную копию метаданных группы доступности.

Имена столбцов: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc

sys.availability_groups_cluster
Возвращает строку для каждой группы доступности в кластере WSFC. Каждая строка содержит метаданные группы доступности из отказоустойчивой кластеризации Windows Server (WSFC).

Имена столбцов: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc

sys.dm_hadr_availability_group_states
Возвращает строку для каждой группы доступности, которая содержит реплику доступности на локальном экземпляре SQL Server. Каждая строка отображает состояния, определяющие состояние здоровья определенной группы доступности.

Имена столбцов: group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc

Мониторинг реплик доступности

Чтобы отслеживать реплики доступности, используйте следующие представления и системную функцию:

sys.доступность_реплики
Возвращает строку для каждой реплики доступности в каждой группе доступности, для которой локальный экземпляр SQL Server размещает реплику доступности.

Имена столбцов: 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.списки_маршрутизации_только_для_чтения
Возвращает строку для списка маршрутизации только для чтения каждой реплики доступности в группе доступности AlwaysOn в отказоустойчивом кластере WSFC.

Имена столбцов: replica_id, routing_priority, read_only_replica_id

sys.dm_hadr_availability_replica_cluster_nodes
Возвращает строку для каждой реплики доступности (независимо от состояния соединения) групп доступности AlwaysOn в кластере отказоустойчивой кластеризации Windows Server (WSFC).

Имена столбцов: group_name, replica_server_name, node_name

sys.dm_hadr_availability_replica_cluster_states
Возвращает строку для каждой реплики (независимо от состояния соединения) всех групп доступности AlwaysOn (независимо от расположения реплики) в кластере отказоустойчивой кластеризации Windows Server (WSFC).

Имена столбцов: replica_id, replica_server_name, group_id, join_state, join_state_desc

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

Имена столбцов: replica_id, group_id, is_local, role, 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 и last_connect_error_timestamp

sys.fn_hadr_backup_is_preferred_replica
Определяет, является ли текущая реплика предпочитаемой резервной репликой.

Замечание

Сведения о счетчиках производительности для реплик доступности (объект производительности SQLServer:Availability Replica) см. в разделе SQL Server, реплика доступности.

Мониторинг баз данных доступности

Чтобы отслеживать базы данных доступности, используйте следующие представления:

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

Замечание

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

Имена столбцов: group_id, идентификатор базы данных группы, имя базы данных

sys.databases
Содержит одну строку для каждой базы данных в экземпляре SQL Server. Если база данных принадлежит реплике доступности, строка этой базы данных отображает GUID реплики и уникальный идентификатор базы данных в ее группе доступности.

Имена столбцов групп доступности AlwaysOn: replica_id, group_database_id

sys.dm_hadr_auto_page_repair
Возвращает строку для каждой автоматической попытки восстановления страницы в любой базе данных доступности на реплике, которую поддерживает экземпляр сервера для любой группы доступности. Это представление содержит строки для последних автоматических попыток восстановления страниц в заданной основной или вторичной базе данных, максимум 100 строк для каждой базы данных. Как только база данных достигнет максимального значения, строка для следующей попытки автоматического восстановления страницы заменяет одну из существующих записей.

Имена столбцов: database_id, file_id, page_id, error_type, page_status, modification_time

sys.dm_hadr_database_replica_states
Возвращает строку для каждой базы данных, участвующей в любой группе высокой доступности, для которой локальный экземпляр SQL Server размещает реплику высокой доступности.

Имена столбцов: 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
Возвращает строку, содержащую сведения, способствующие получению информации о работоспособности доступных баз данных в каждой группе доступности в кластере отказоустойчивой кластеризации Windows Server (WSFC). Это динамическое представление управления полезно при планировании или реагировании на отработку отказа или при обнаружении, какая вторичная реплика в группе доступности удерживает усечение журнала в данной базе данных-источнике.

Имена столбцов: replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn

Замечание

Основное расположение реплики является авторитетным источником для группы доступности.

Замечание

Сведения о счетчиках производительности Always On Availability Groups для баз доступности (объект производительности SQLServer:Database Replica) смотрите в разделе SQL Server, реплика базы данных. Кроме того, чтобы отслеживать действия журнала транзакций в базах данных доступности, используйте следующие счетчики объекта производительности SQLServer:Databases: Log Flush Write Time (ms), Log Flushes/sec, Log Pool Cache Misses/sec, Log Pool Disk Reads/sec и Log Pool Requests/sec. Дополнительные сведения см. в разделе SQL Server, Databases Object.

Мониторинг прослушивателей группы доступности

Чтобы отслеживать прослушиватели группы доступности в подсетях кластера WSFC, используйте следующие представления:

sys.availability_group_listener_ip_addresses
Возвращает строку для каждого совместимого виртуального IP-адреса, который в настоящее время в сети для слушателя группы доступности.

Имена столбцов: listener_id, IP-адрес, ip_subnet_mask, is_dhcp, network_subnet_ip, network_subnet_prefix_length, network_subnet_ipv4_mask, state, state_desc

sys.availability_group_listeners
Для любой выбранной группы доступности возвращает либо ноль строк, указывая, что с группой доступности не связано ни одного сетевого имени, либо отдельную строку для каждой конфигурации прослушивателя группы доступности в кластере WSFC.

Имена столбцов: group_id, listener_id, dns_name, порт, is_conformant, ip_configuration_string_from_cluster

sys.dm_tcp_listener_states
Возвращает строку, содержащую сведения о динамическом состоянии для каждого прослушивателя TCP.

Имена столбцов: listener_id, ip_address, is_ipv4, port, type, type_desc, state, state_desc, start_time

Первичный ключ: listener_id

Сведения о прослушивателях группы доступности см. в разделе Прослушиватели группы доступности, подключение клиентов и переключение при отказе приложения (SQL Server).

Связанные задачи

Задачи мониторинга групп доступности AlwaysOn:

Справочник по мониторингу групп доступности AlwaysOn (Transact-SQL):

Счетчики производительности AlwaysOn:

Управление на основе политик для групп доступности AlwaysOn

См. также

Группы доступности AlwaysOn (SQL Server)
Общие сведения о группах доступности AlwaysOn (SQL Server)
Мониторинг групп доступности (SQL Server)