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


Отслеживание групп доступности (Transact-SQL)

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

Совет

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

Разрешения

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

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

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

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

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

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

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

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

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

sys.dm_hadr_cluster_members
Если на узле WSFC, где размещен локальный экземпляр WSFC 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, DLL-библиотека ресурсов через это динамическое административное представление определяет экземпляр 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 и группах доступности Always On см. в разделах Отказоустойчивая кластеризация 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.availability_replicas
Возвращает строку для каждой реплики доступности, для которой в локальном экземпляре 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.availability_read_only_routing_lists
Возвращает строку для списка маршрутизации только для чтения для каждой реплики доступности в группе доступности 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, group_database_id, database_name

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

имена столбцов групп доступности Always On: 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 для баз данных доступности (объект производительности SQLServer:Database Replica) см. в разделе SQL Server, Реплика базы данных. Для мониторинга активности журнала транзакций для баз данных доступности пользуйтесь следующими счетчиками объекта производительности SQLServer:Databases: Время записи журнала на диск (мс) , Записей журнала на диск/с, Неудачных обращений к кэшу пула журнала/с, Операций чтения диска пула журнала/с и Запросов пула журнала/с. Дополнительные сведения см. в статье 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)