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

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

СоветСовет

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

В этом разделе:

  • Разрешения

  • Мониторинг с помощью Transact-SQL:  

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

    Группы доступности на кластере WSFC

    Группы доступности

    Реплики доступности

    Базы данных доступности

    Прослушиватели групп доступности

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

Разрешения

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

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

Для наблюдения за компонентом Группы доступности AlwaysOn на экземпляре сервера пользуйтесь следующей встроенной функцией.

  • Функция SERVERPROPERTY
    Возвращает сведения о свойствах сервера о том, включен ли Группы доступности AlwaysOn, а также (если включен) был ли он запущен на экземпляре сервера.

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

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

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

  • sys.dm_hadr_cluster
    Если узел отказоустойчивой кластеризации (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, где размещен локальный экземпляр 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_states, sys.dm_hadr_availability_replica_cluster_nodes в разделе Мониторинг реплик доступности и 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, имя, 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, имя, 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 реплики и уникальный идентификатор базы данных внутри группы доступности.

    Имена столбцов Группы доступности 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

    ПримечаниеПримечание

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

ПримечаниеПримечание

Сведения о счетчиках производительности Группы доступности AlwaysOn для баз данных доступности (объект производительности SQLServer:Database Replica) см. в разделе SQL Server, реплика базы данных. Для мониторинга активности журнала транзакций для баз данных доступности пользуйтесь следующими счетчиками объекта производительности SQLServer:Databases: Время записи журнала на диск (мс), Записей журнала на диск/с, Неудачных обращений к кэшу пула журнала/с, Операций чтения диска пула журнала/с и Запросов пула журнала/с. Дополнительные сведения см. в разделе SQL Server, объект Databases.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

Для мониторинга прослушивателей группы доступности в подсети кластера 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_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, порт, тип, type_desc, состояние, state_desc, start_time

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

Задачи наблюдения групп доступности AlwaysOn

Справочник по наблюдениям за группами доступности AlwaysOn (Transact-SQL)

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Основные понятия

Группы доступности AlwaysOn (SQL Server)

Обзор групп доступности AlwaysOn (SQL Server)

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