Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure
Наблюдатель за базами данных собирает данные мониторинга из системных представлений SQL и помещает их в хранилище данных в виде наборов данных. Каждый набор данных формируется с помощью данных из одного или нескольких системных представлений SQL. Для каждого набора данных существует отдельная таблица в хранилище данных.
сбор данных
Наблюдатель за базами данных собирает данные мониторинга с периодическими интервалами с помощью запросов T-SQL. Данные, собранные в каждом выполнении запроса, называются примером. Частота сбора выборок зависит от набора данных. Например, часто меняющиеся данные, такие как счетчики производительности SQL, могут собираться каждые 10 секунд, в то время как в основном статические данные, такие как конфигурация базы данных, могут собираться каждые пять минут. Дополнительные сведения см. в разделе "Наборы данных".
Наблюдатель за базами данных использует преимущества приема потоковой передачи в Azure Data Explorer и Аналитике в режиме реального времени в Microsoft Fabric для обеспечения практически реального времени мониторинга. Как правило, собранные данные мониторинга SQL становятся доступными для создания отчетов и анализа менее чем за 10 секунд. Вы можете отслеживать задержку приема данных на панелях мониторинга наблюдателя за базами данных, используя ссылку статистики приема.
Взаимодействие между наблюдателем базы данных и рабочими нагрузками приложений
Включение наблюдателя за базами данных, скорее всего, не влияет на производительность рабочей нагрузки приложения. Более частые запросы мониторинга обычно выполняются в под-секундном диапазоне, в то время как запросы, которые могут потребовать больше времени, например для возврата больших наборов данных, выполняются с редкими интервалами.
Чтобы снизить риск влияния на рабочие нагрузки приложений, все запросы наблюдателя за базами данных в База данных SQL Azure управляются ресурсами как внутренняя рабочая нагрузка. При наличии состязаний по ресурсам потребление ресурсов в запросах мониторинга ограничено небольшой частью общих ресурсов, доступных базе данных. Это приоритизирует рабочие нагрузки приложений над запросами мониторинга.
Чтобы избежать конфликтов параллелизма, таких как блокировка и взаимоблокировка между сбором данных и рабочими нагрузками базы данных, выполняемыми в ресурсах SQL Azure, запросы мониторинга используют короткие тайм-ауты блокировки и низкий приоритет взаимоблокировки. При возникновении конфликта параллельного выполнения, приоритет отдается запросам рабочей нагрузки приложения.
В следующих сценариях могут возникнуть пробелы в собранных данных:
- Если общий объем использования ресурсов высок или возникают конфликты параллелизма между запросами мониторинга и рабочими нагрузками приложений. В таких случаях запросы мониторинга отменяются в пользу рабочих нагрузок приложений.
- Если у вас есть автоматизация, которая завершает длительные сеансы. Чтобы избежать пробелов в собранных данных, исключите любой сеанс, в котором один из столбцов в системном представлении
program_nameравен илиSQLExternalMonitoring.
Сбор данных в эластичных пулах
Для мониторинга эластичного пула необходимо назначить одну базу данных в пуле в качестве базы данных привязки. Наблюдатель подключается к основной базе данных. Так как наблюдатель содержитVIEW SERVER PERFORMANCE STATE разрешение, системные представления в базе данных привязки предоставляют данные мониторинга для пула в целом.
Совет
Вы можете добавить пустую базу данных в каждый эластичный пул для мониторинга и назначить ее якорной базой данных. Таким образом можно перемещать другие базы данных в пул и из него или между пулами, не прерывая мониторинг эластичного пула.
Данные, собранные из базы данных привязки, содержат метрики уровня пула и определенные метрики производительности на уровне базы данных для каждой базы данных в пуле, такие как использование ресурсов и метрики частоты запросов для каждой базы данных. В некоторых сценариях добавление целевого объекта SQL эластичного пула для мониторинга эластичного пула в целом может сделать его ненужным для отслеживания каждой отдельной базы данных в пуле.
Некоторые данные мониторинга, такие как ЦП уровня пула, память, использование хранилища и статистика ожидания, собираются только на уровне эластичного пула, так как она не может быть связана с отдельной базой данных в пуле. И наоборот, некоторые другие данные, такие как статистика среды выполнения запросов, свойства базы данных, таблицы и метаданные индекса, доступны только при добавлении отдельных баз данных в качестве целевых объектов SQL.
При добавлении отдельных баз данных из эластичного пула в качестве целевых объектов SQL следует также добавить эластичные пулы в качестве целевого объекта SQL. Таким образом вы получите более полное представление о производительности базы данных и пула.
Мониторинг плотных эластичных пулов
Плотный эластичный пул содержит большое количество баз данных, но имеет относительно небольшой размер вычислительных ресурсов. Эта конфигурация позволяет клиентам добиться существенной экономии затрат за счет минимального распределения вычислительных ресурсов.
Важно, что этот подход предполагает, что одновременно выполняется только небольшое количество баз данных в пуле.
Предупреждение
Так как запросы мониторинга должны выполняться непрерывно в каждой отслеживаемой базе данных, не рекомендуется отслеживать более нескольких отдельных баз данных в плотном эластичном пуле.
При добавлении множества баз данных из плотного эластичного пула в качестве целевых объектов SQL совокупное использование ресурсов запросами мониторинга, выполняемыми в каждой базе данных, может повлиять на рабочие нагрузки приложений из-за нехватки ресурсов в пуле.
По той же причине могут возникнуть пробелы в собранных данных или более крупные интервалы между образцами данных.
Чтобы отслеживать плотный эластичные пулы, включите мониторинг на уровне пула, добавив сам эластичные пулы в качестве целевого объекта SQL. Уменьшая общее количество запросов мониторинга в эластичном пуле, вы избегаете риска влияния рабочих нагрузок приложений, а также сбор данных на уровне пула на уровне действий в наборах данныхэластичного пула SQL.
Сбор данных в бессерверных базах данных
Если бессерверная база данных отключена автоматически, наблюдатель за базами данных отслеживает ее так же, как подготовленную базу данных.
Если включить автоматическую приостановку в бессерверной базе данных, сбор данных наблюдателя за базами данных останавливается при приостановке базы данных. Запросы мониторинга наблюдателя за базами данных не препятствуют приостановке бессерверной базы данных, если она может быть приостановлена в противном случае.
Вскоре после перехода бессерверной базы данных в приостановленное состояние, его статус на панели мониторинга наблюдателя изменится на Не собирает. Ранее собранные данные для базы данных остаются в хранилище данных наблюдателя и доступны через панели мониторинга и запросы.
Сбор данных возобновляется в течение нескольких минут после перехода базы данных из приостановленного в состояние Online .
Место расположения данных
Клиенты могут хранить собранные данные мониторинга SQL в одном из трех типов хранилища данных:
База данных в кластере Azure Data Explorer . По умолчанию создается новый кластер Azure Data Explorer для каждого нового наблюдателя и находится в том же регионе Azure, что и наблюдатель.
Клиенты могут выбрать конкретный регион Azure в географическом регионе Azure в качестве расположения кластера Azure Data Explorer и базы данных. Дополнительные сведения о возможностях репликации данных в Azure Data Explorer см. в обзоре непрерывности бизнес-процессов и аварийного восстановления.
База данных в бесплатном кластере Azure Data Explorer.
Клиенты могут выбрать конкретный географический регион Azure, но не конкретный регион Azure в качестве расположения бесплатного кластера Azure Data Explorer и базы данных. Репликация данных в другой регион или географический регион не поддерживается.
База данных в Аналитике в режиме реального времени в Microsoft Fabric.
Клиенты не могут выбрать географическое расположение базы данных.
Чтобы полностью контролировать расположение данных для собранных данных мониторинга SQL, клиенты должны выбрать базу данных в кластере Azure Data Explorer в качестве хранилища данных.
Клиенты могут выровнять географию и регион кластера Azure Data Explorer с географией и регионом отслеживаемых ресурсов SQL Azure. Если ресурсы SQL Azure находятся в нескольких регионах, клиентам может потребоваться создать несколько наблюдателей и несколько кластеров Azure Data Explorer для удовлетворения требований к месту размещения данных.
Наборы данных
В этом разделе описываются наборы данных, доступные для каждого целевого типа SQL, включая частоты сбора и имена таблиц в хранилище данных.
Примечание.
Во время предварительной версии наборы данных могут быть добавлены и удалены. Свойства набора данных, такие как имя, описание, частота сбора и доступные столбцы, могут изменяться.
| Имя набора данных | Имя таблицы | Частота сбора (hh:mm:ss) | Описание |
|---|---|---|---|
| Активные сеансы | sqldb_database_active_sessions |
00:00:30 |
Каждая строка представляет сеанс, выполняющий запрос, является блокировщиком или открытой транзакцией. |
| Журнал резервного копирования | sqldb_database_sql_backup_history |
00:05:00 |
Каждая строка представляет собой успешно завершенную резервную копию базы данных. |
| Обработка изменений | sqldb_database_change_processing |
00:01:00 |
Каждая строка представляет способ моментального снимка статистики совокупного сканирования журналов для функции обработки изменений, такой как Change Data Capture или Change Feed (Azure Synapse Link). |
| Изменение ошибок обработки | sqldb_database_change_processing_errors |
00:01:00 |
Каждая строка представляет ошибку, которая произошла во время обработки изменений при использовании функции обработки изменений, такой как фиксация измененных данных или поток изменений (Azure Synapse Link). |
| Подключение | sqldb_database_connectivity |
00:00:30 |
Каждая строка представляет собой проверку подключения (вход и запрос) для базы данных. |
| Географические реплики | sqldb_database_geo_replicas |
00:00:30 |
Каждая строка представляет собой первичную или вторичную геореплику, включая метаданные георепликации и статистику. |
| Метаданные индекса | sqldb_database_index_metadata |
00:30:00 |
Каждая строка представляет секцию индекса и включает определение индекса, свойства и операционную статистику. |
| Использование памяти | sqldb_database_memory_utilization |
00:00:30 |
Каждая строка представляет клерка памяти и включает потребление памяти клерком в экземпляре ядра СУБД. |
| Отсутствующие индексы | sqldb_database_missing_indexes |
00:15:00 |
Каждая строка представляет индекс, который может повысить производительность запросов при создании. |
| События вне памяти | sqldb_database_oom_events |
00:01:00 |
Каждая строка представляет событие вне памяти в ядре СУБД. |
| Счетчики производительности (общие) | sqldb_database_performance_counters_common |
00:00:10 |
Каждая строка представляет счетчик производительности экземпляра ядра СУБД. Этот набор данных включает часто используемые счетчики. |
| Счетчики производительности (подробные сведения) | sqldb_database_performance_counters_detailed |
00:01:00 |
Каждая строка представляет счетчик производительности экземпляра ядра СУБД. Этот набор данных включает счетчики, которые могут потребоваться для подробного мониторинга и устранения неполадок. |
| Свойства | sqldb_database_properties |
00:05:00 |
Каждая строка представляет базу данных и включает параметры базы данных, ограничения управления ресурсами и другие метаданные базы данных. |
| Статистика среды выполнения запросов | sqldb_database_query_runtime_stats |
00:15:00 |
Каждая строка представляет интервал времени выполнения в Хранилище запросов и включает статистику выполнения запросов. |
| Статистика ожидания запросов | sqldb_database_query_wait_stats |
00:15:00 |
Каждая строка представляет интервал времени выполнения хранилище запросов и включает статистику категорий ожидания. |
| Копии | sqldb_database_replicas |
00:00:30 |
Каждая строка представляет реплику базы данных, включая метаданные репликации и статистику. Включает основную реплику и геореплики, когда данные собираются на основной, и вторичные реплики, когда данные собираются на вторичной. |
| Загруженность ресурсов | sqldb_database_resource_utilization |
00:00:15 |
Каждая строка представляет данные ЦП, операций ввода-вывода данных, операций ввода-вывода журнала и другие статистические данные о потреблении ресурсов для базы данных в интервале времени. |
| Статистика сеанса | sqldb_database_session_stats |
00:01:00 |
Каждая строка представляет собой сводку статистики сеансов для базы данных, агрегированную по неаддитивным атрибутам сеанса, таким как имя входа, имя узла, имя приложения и т. д. |
| Планировщики SOS | sqldb_database_sos_schedulers |
00:01:00 |
Каждая строка представляет планировщик SOS и включает статистику для планировщика, узла ЦП и узла памяти. |
| Хранилище IO | sqldb_database_storage_io |
00:00:10 |
Каждая строка представляет файл базы данных и включает совокупную статистику IOPS, пропускную способность (throughput) и задержку для файла. |
| Использование хранилища | sqldb_database_storage_utilization |
00:01:00 |
Каждая строка представляет базу данных и включает его использование хранилища, включая tempdbхранилище запросов и постоянное хранилище версий. |
| Метаданные таблицы | sqldb_database_table_metadata |
00:30:00 |
Каждая строка представляет таблицу или индексированное представление и включает такие метаданные, как число строк, использование пространства, сжатие данных, столбцы и ограничения. Собирается, когда число таблиц и индексированных представлений в базе данных равно 100 или меньше. |
| Статистика ожидания | sqldb_database_wait_stats |
00:00:10 |
Каждая строка представляет тип ожидания и включает совокупную статистику ожидания экземпляра ядра СУБД. Для баз данных в эластичном пуле собираются только статистические данные ожидания, относящиеся к области действия конкретной базы данных. |
Примечание.
Для баз данных в эластичном пуле наборы данных базы данных SQL, содержащие данные уровня пула, не собираются. Сюда входят использование памяти, события вне памяти, счетчики производительности (общие) и счетчики производительности (подробные сведения). Набор данных статистики ожиданий собирается, но ограничивается областью базы данных. Это позволяет избежать сбора одинаковых данных из каждой базы данных в пуле.
Данные уровня пула собираются в наборах данных SQL Elastic Pool. Для данного эластичного пула счетчики производительности (общие) и счетчики производительности (подробные) содержат метрики уровня пула и определенные метрики уровня базы данных, такие как ЦП, операции ввода-вывода данных, запись журналов, запросы, транзакции и т. д.
Общие столбцы
Для каждого целевого типа SQL наборы данных имеют общие столбцы, как описано в следующих таблицах.
| Имя столбца | Описание |
|---|---|
subscription_id |
Идентификатор подписки Azure базы данных SQL. |
resource_group_name |
Имя группы ресурсов базы данных SQL. |
resource_id |
Идентификатор ресурса Azure базы данных SQL. |
sample_time_utc |
Время наблюдения значений в строке в формате UTC. |
collection_time_utc |
Время, когда строка была собрана наблюдателем, в формате UTC. Этот столбец присутствует в наборах данных, где время сбора может отличаться от времени выборки. |
replica_type |
Одно из: Основной, HA вторичный, переадресатор георепликации, именованный вторичный. |
logical_server_name |
Имя логического сервера в База данных SQL Azure с отслеживаемой базой данных или эластичным пулом. |
database_name |
Имя отслеживаемой базы данных. |
database_id |
Идентификатор базы данных отслеживаемой базы данных, уникальный в логическом сервере. |
logical_database_id |
Уникальный идентификатор базы данных, который остается неизменным в течение всего времени существования пользовательской базы данных. Переименование базы данных или изменение цели службы не изменяет это значение. |
physical_database_id |
Уникальный идентификатор базы данных для текущей физической базы данных, соответствующей пользовательской базе данных. Изменение цели службы базы данных приводит к изменению этого значения. |
replica_id |
Уникальный идентификатор гипермасштабной вычислительной реплики. |
Набор данных содержит как sample_time_utc, так и collection_time_utc столбцы, если он включает в себя примеры, наблюдаемые до того, как строка была собрана наблюдателем базы данных. В противном случае время наблюдения и время сбора совпадают, а набор данных содержит только sample_time_utc столбец.
Например, sqldb_database_resource_utilization набор данных является производным от динамического административного представления sys.dm_db_resource_stats . DmV содержит столбец, который является end_time временем наблюдения для каждой статистической статистики ресурсов отчетов о строках для 15-секундного интервала. Это время сообщается в столбце sample_time_utc . Когда наблюдатель запрашивает это динамическое административное представление, результирующий набор может содержать несколько строк, каждая из которых отличается end_time. Все эти строки имеют одинаковое collection_time_utc значение.
Связанный контент
- Мониторинг рабочих нагрузок SQL Azure с помощью наблюдателя за базами данных (предварительная версия)
- Краткое руководство. Создание наблюдателя для мониторинга SQL Azure (предварительная версия)
- Создание и настройка наблюдателя (предварительная версия)
- Анализ данных мониторинга наблюдателя за базами данных (предварительная версия)
- Оповещения мониторинга баз данных (тестовая версия)
- Вопросы и ответы наблюдателя за базами данных