Сбор и наборы данных наблюдателя за базами данных (предварительная версия)
Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure
Наблюдатель за базами данных собирает данные мониторинга из системных представлений SQL и получает их в хранилище данных в виде наборов данных. Каждый набор данных формируется с помощью данных из одного или нескольких системных представлений SQL. Для каждого набора данных существует отдельная таблица в хранилище данных.
сбор данных
Наблюдатель за базами данных собирает данные мониторинга с периодическими интервалами с помощью запросов T-SQL. Данные, собранные в каждом выполнении запроса, называются примером. Частота сбора выборок зависит от набора данных. Например, часто меняющиеся данные, такие как счетчики производительности SQL, могут собираться каждые 10 секунд, в то время как в основном статические данные, такие как конфигурация базы данных, могут собираться каждые пять минут. Дополнительные сведения см. в разделе "Наборы данных".
Наблюдатель за базами данных использует преимущества приема потоковой передачи в Azure Data Explorer и Аналитике в режиме реального времени в Microsoft Fabric для обеспечения практически реального времени мониторинга. Как правило, собранные данные мониторинга SQL становятся доступными для создания отчетов и анализа менее чем за 10 секунд. Вы можете отслеживать задержку приема данных на панелях мониторинга наблюдателя за базами данных, используя ссылку статистики приема.
Взаимодействие между наблюдателем базы данных и рабочими нагрузками приложений
Включение наблюдателя за базами данных, скорее всего, не влияет на производительность рабочей нагрузки приложения. Более частые запросы мониторинга обычно выполняются в под-секундном диапазоне, в то время как запросы, которые могут потребовать больше времени, например для возврата больших наборов данных, выполняются с редкими интервалами.
Чтобы снизить риск влияния на рабочие нагрузки приложений, все запросы наблюдателя за базами данных в База данных SQL Azure управляются ресурсами как внутренняя рабочая нагрузка. При наличии состязаний по ресурсам потребление ресурсов в запросах мониторинга ограничено небольшой частью общих ресурсов, доступных базе данных. Это определяет рабочие нагрузки приложений по сравнению с запросами мониторинга.
Чтобы избежать конфликтов параллелизма, таких как блокировка и взаимоблокировка между сбором данных и рабочими нагрузками базы данных, выполняемыми в ресурсах SQL Azure, запросы мониторинга используют короткие тайм-ауты блокировки и низкий приоритет взаимоблокировки. Если конфликт параллелизма возникает, приоритет предоставляется запросам рабочей нагрузки приложения.
Вы можете наблюдать пробелы в собранных данных, если общий объем использования ресурсов высок или если возникают конфликты параллелизма. В таких случаях запросы мониторинга могут быть деприоритизированы в пользу рабочих нагрузок приложений.
Сбор данных в эластичных пулах
Для мониторинга эластичного пула необходимо назначить одну базу данных в пуле в качестве базы данных привязки. Наблюдатель за базами данных подключается к базе данных привязки. Так как наблюдатель содержит VIEW SERVER PERFORMANCE STATE
разрешение, системные представления в базе данных привязки предоставляют данные мониторинга для пула в целом.
Совет
Вы можете добавить пустую базу данных в каждый эластичном пуле, который вы хотите отслеживать, и назначить ее в качестве базы данных привязки. Таким образом можно перемещать другие базы данных в пул и из него или между пулами, не прерывая мониторинг эластичного пула.
Данные, собранные из базы данных привязки, содержат метрики уровня пула и определенные метрики производительности на уровне базы данных для каждой базы данных в пуле, такие как использование ресурсов и метрики частоты запросов для каждой базы данных. В некоторых сценариях добавление целевого объекта SQL эластичного пула для мониторинга эластичного пула в целом может сделать его ненужным для отслеживания каждой отдельной базы данных в пуле.
Некоторые данные мониторинга, такие как ЦП уровня пула, память, использование хранилища и статистика ожидания, собираются только на уровне эластичного пула, так как она не может быть связана с отдельной базой данных в пуле. И наоборот, некоторые другие данные, такие как статистика среды выполнения запросов, свойства базы данных, таблицы и метаданные индекса, доступны только при добавлении отдельных баз данных в качестве целевых объектов SQL.
При добавлении отдельных баз данных из эластичного пула в качестве целевых объектов SQL следует также добавить эластичные пулы в качестве целевого объекта SQL. Таким образом вы получите более полное представление о производительности базы данных и пула.
Мониторинг плотных эластичных пулов
Плотный эластичные пулы содержат большое количество баз данных, но имеет относительно небольшой размер вычислительных ресурсов. Эта конфигурация позволяет клиентам добиться существенной экономии затрат, сохраняя выделение вычислительных ресурсов минимально, если предполагается, что одновременно активна только небольшое количество баз данных в пуле.
Вычислительные ресурсы, доступные для запросов наблюдателя за базами данных в плотном эластичном пуле, также ограничены, чтобы избежать влияния на запросы приложений. Из-за этого наблюдатель за базами данных может не собирать данные мониторинга из каждой базы данных в плотном эластичном пуле.
Совет
Чтобы отслеживать плотный эластичные пулы, включите мониторинг на уровне пула, добавив эластичные пулы в качестве целевого объекта SQL.
Не рекомендуется отслеживать более нескольких отдельных баз данных в плотном эластичном пуле. Вы можете увидеть пробелы в собранных данных или больше ожидаемых интервалов между примерами данных из-за нехватки вычислительных ресурсов, доступных для запросов наблюдателя за базами данных.
Место расположения данных
Клиенты могут хранить собранные данные мониторинга 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) | Description |
---|---|---|---|
Активные сеансы | sqldb_database_active_sessions |
00:00:30 |
Каждая строка представляет сеанс, выполняющий запрос, является блокировщиком или открытой транзакцией. |
Журнал резервного копирования | sqldb_database_sql_backup_history |
00:05:00 |
Каждая строка представляет собой успешно завершенную резервную копию базы данных. |
Обработка изменений | sqldb_database_change_processing |
00:01:00 |
Каждая строка представляет моментальный снимок статистики статистической проверки журнала для функции обработки изменений, такой как запись измененных данных или канал изменений (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:10 |
Каждая строка представляет клерка памяти и включает потребление памяти клерком в экземпляре ядра СУБД. |
Отсутствующие индексы | 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:10 |
Каждая строка представляет реплику базы данных, включая метаданные репликации и статистику. Включает основную реплику и геореплики при сборе на основной и вторичные реплики при сборе на вторичную. |
Загруженность ресурсов | sqldb_database_resource_utilization |
00:00:15 |
Каждая строка представляет данные ЦП, операций ввода-вывода данных, операций ввода-вывода журнала и другие статистические данные о потреблении ресурсов для базы данных в интервале времени. |
Статистика сеанса | sqldb_database_session_stats |
00:01:00 |
Каждая строка представляет сводку статистики сеансов для базы данных, агрегированную атрибутами сеанса без аддитивных сеансов, такими как имя входа, имя узла, имя приложения и т. д. |
Планировщики SOS | sqldb_database_sos_schedulers |
00:01:00 |
Каждая строка представляет планировщик SOS и включает статистику для планировщика, узла ЦП и узла памяти. |
Операции ввода-вывода в хранилище | sqldb_database_storage_io |
00:00:10 |
Каждая строка представляет файл базы данных и включает совокупную статистику операций ввода-вывода в секунду, пропускную способность и задержку для файла. |
Использование хранилища | sqldb_database_storage_utilization |
00:01:00 |
Каждая строка представляет базу данных и включает его использование хранилища, включая tempdb хранилище запросов и постоянное хранилище версий. |
Метаданные таблицы | sqldb_database_table_metadata |
00:30:00 |
Каждая строка представляет таблицу или индексированное представление и включает такие метаданные, как число строк, использование пространства, сжатие данных, столбцы и ограничения. |
Статистика ожидания | sqldb_database_wait_stats |
00:00:10 |
Каждая строка представляет тип ожидания и включает совокупную статистику ожидания экземпляра ядра СУБД. Для баз данных в эластичном пуле собираются только статистические данные ожидания с областью действия базы данных. |
Примечание.
Для баз данных в эластичном пуле наборы данных базы данных SQL, содержащие данные уровня пула, не собираются. Сюда входят использование памяти, события вне памяти, счетчики производительности (общие) и счетчики производительности (подробные сведения). Набор данных статистики ожидания собирается, но содержит только ожидания в области базы данных. Это позволяет избежать сбора одинаковых данных из каждой базы данных в пуле.
Данные уровня пула собираются в наборах данных эластичного пула SQL. Для данного эластичного пула счетчики производительности (общие) и счетчики производительности (подробные) содержат метрики уровня пула и определенные метрики уровня базы данных, такие как ЦП, операции ввода-вывода данных, запись журналов, запросы, транзакции и т. д.
Общие столбцы
Для каждого целевого типа SQL наборы данных имеют общие столбцы, как описано в следующих таблицах.
Имя столбца | Description |
---|---|
subscription_id |
Идентификатор подписки Azure базы данных SQL. |
resource_group_name |
Имя группы ресурсов базы данных SQL. |
resource_id |
Идентификатор ресурса Azure базы данных SQL. |
sample_time_utc |
Время наблюдения значений в строке в формате UTC. |
collection_time_utc |
Время сбора строки наблюдателем в формате UTC. Этот столбец присутствует в наборах данных, где время сбора может отличаться от времени выборки. |
replica_type |
Одно из них: основной, вторичный, вторичный, переадресатор георепликации, именованный вторичный. |
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 (предварительная версия)
- Создание и настройка наблюдателя за базой данных (предварительная версия)
- Анализ данных мониторинга наблюдателя за базами данных (предварительная версия)
- Вопросы и ответы наблюдателя за базами данных