что такое профилировщик xevent

Использование профилировщика XEvent для SSMS

Профилировщик XEvent — это компонент SQL Server Management Studio (SSMS), который отображает динамическое окно просмотра расширенных событий. В этом обзоре описаны возможные причины для использования этого профилировщика, его основные функции и действия, необходимые для просмотра расширенных событий.

Когда стоит использовать профилировщик XEvent?

Предварительные требования

Эта функция доступна только в SQL Server Management Studio (SSMS) 17.3 и более поздних версиях. Убедитесь, что вы используете последнюю версию. Ее можно найти здесь.

Приступая к работе

Чтобы открыть профилировщик XEvent, выполните следующие действия.

Откройте SQL Server Management Studio.

Подключитесь к экземпляру ядра СУБД SQL Server или к узлу localhost.

В обозревателе объектов найдите пункт меню «Профилировщик XE» и разверните его, щелкнув значок «+».

что такое профилировщик xevent. Смотреть фото что такое профилировщик xevent. Смотреть картинку что такое профилировщик xevent. Картинка про что такое профилировщик xevent. Фото что такое профилировщик xevent

Чтобы просмотреть все расширенные события в этом сеансе, дважды щелкните пункт Стандартный. Чтобы просмотреть записанные в журнал инструкции SQL, щелкните T-SQL. Если сеанс еще не создан, система создаст его за вас.

что такое профилировщик xevent. Смотреть фото что такое профилировщик xevent. Смотреть картинку что такое профилировщик xevent. Картинка про что такое профилировщик xevent. Фото что такое профилировщик xevent

Теперь можно просмотреть расширенные события.

Источник

Средства контроля и настройки производительности

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

Основное отличие между приложением Приложение SQL Server Profiler и системным монитором состоит в том, что приложение Приложение SQL Server Profiler отслеживает события ядра СУБД, тогда как системный монитор отслеживает использование ресурсов, связанных с процессами сервера.Открытие монитора активности (среда SQL Server Management Studio)Монитор активности в SQL Server Management Studio позволяет создавать динамические представления текущей активности и наглядно отображать сведения по таким аспектам:

— процессы, запущенные в экземпляре SQL Server;
— заблокированные процессы;
— блокировки;
— пользовательская активность.Панель мониторинга производительностиПанель мониторинга производительности в SQL Server Management Studio помогает быстро выявлять наличие узких мест производительности в SQL Server.Помощник по настройке запросов (QTA)Используя помощник по настройке запросов (QTA), пользователи смогут выполнять рекомендуемые действия для поддержки стабильной производительности во время обновлений до более новых версий SQL Server, как описано в разделе Поддержание стабильной производительности во время обновления до новой версии SQL Server статьи Сценарии использования хранилища запросов.Хранилище запросовХранилище запросов предоставляет подробные сведения о выборе и производительности плана запроса. Оно упрощает устранение неполадок с производительностью, помогая быстро находить разницу в производительности, вызванную изменением плана запроса. Хранилище запросов автоматически собирает журнал запросов, планов и статистики выполнения, сохраняя эти данные для просмотра. Данные разделяются по временным диапазонам, благодаря чему вы можете просматривать закономерности использования и узнавать об изменениях плана запроса на сервере.Трассировка SQLTransact-SQL Хранимые процедуры, создающие, фильтрующие и определяющие трассировку:

Хранимая процедура sp_trace_create (Transact-SQL)
Хранимая процедура sp_trace_generateevent (Transact-SQL)
Хранимая процедура sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
Хранимая процедура sp_trace_setstatus (Transact-SQL)Распределенное воспроизведение SQL ServerMicrosoftРаспределенное воспроизведение SQL Server позволяет использовать несколько компьютеров для воспроизведения данных трассировки и моделирования ответственной рабочей нагрузки.sp_trace_setfilter (Transact-SQL)Приложение SQL Server Profiler отслеживает события процесса ядра, например запуск пакета или транзакции, позволяя отслеживать работу сервера и базы данных (взаимоблокировки, неустранимые ошибки, вход в систему). Данные Приложение SQL Server Profiler можно поместить в файл или таблицу SQL Server для последующего анализа. Кроме того, предусмотрено пошаговое воспроизведение событий в SQL Server для точного определения хода событий.Системные хранимые процедуры (Transact-SQL)Приведенные ниже системные хранимые процедуры SQL Server являются мощной альтернативой для многих задач мониторинга.

sp_who (Transact-SQL):
Предоставляет сведения моментального снимка о текущих пользователях и процессах SQL Server, включая выполняемые инструкции и их блокировку.

sp_lock (Transact-SQL):
Предоставляет сведения моментального снимка о блокировках, включая идентификаторы объекта и индекса, тип блокировки и тип блокируемого ресурса.

sp_spaceused (Transact-SQL):
Отображает оценку количества места на диске, занятого таблицей (или базой данных).

Выбор средства контроля

Выбор средства мониторинга зависит от события или вида деятельности, которые нужно отслеживать.

Событие или вид деятельностиРасширенные событияПриложение SQL Server ProfilerРаспределенное воспроизведениеСистемный мониторМонитор активностиTransact-SQLЖурналы ошибокПанель мониторинга производительности
Анализ трендовДаДаДа
Воспроизведение записанных событийДа (с одного компьютера)Да (с нескольких компьютеров)
Нерегламентированный мониторингДа 1ДаДаДаДаДа
Формирование предупрежденийДа
Графический интерфейсДаДаДаДаДаДа
Применение в пользовательских приложенияхДаДа 2Да

1 Использование профилировщика XEvent для среды SQL Server Management Studio
2 Использование системных хранимых процедурПриложение SQL Server Profiler

Средства контроля Windows

Кроме того, в операционных системах Windows и Windows Server 2003 имеются следующие средства наблюдения:

СредствоОписание
Диспетчер задачОтображает краткий обзор процессов и приложений, запущенных в системе.
Агент мониторинга сетиОтслеживает сетевой трафик.

Дополнительные сведения об операционных системах Windows и Windows Server см. в документации Windows.

Источник

Общие сведения о расширенных событиях

SQL Server Благодаря архитектуре расширенных событий пользователи могут собирать необходимый объем данных для устранения неполадок или проблем с производительностью. Подсистема расширенных событий допускает настройку и масштабирование в широком диапазоне.

Расширенные события заменяют устаревшие функции трассировки SQL и SQL Server Profiler

Дополнительные сведения о расширенных событиях см. в разделе Краткое руководство. Расширенные события в SQL Server.

Преимущества системы расширенных событий SQL Server

Расширенные события — это упрощенная система мониторинга производительности, в которой применяется минимальный объем ресурсов. SQL Server Management Studio предоставляет графический пользовательский интерфейс для расширенных событий, позволяющий создавать и изменять сеансы, а также просматривать и анализировать данные сеанса. Здесь можно узнать больше об этих расширениях: |Управление сеансами событий в обозревателе объектов |Использование Профилировщика SSMS XEvent

Общие сведения о расширенных событиях

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

В следующей таблице даны определения понятий, применяемых в расширенной подсистеме событий.

РазделОписание
Пакеты обработки расширенных событий SQL ServerОписывает пакеты расширенных событий, которые содержат объекты. Эти объекты используются для получения и обработки данных во время сеанса расширенных событий.
Цели расширенных событий SQL ServerОписывает объекты-получатели событий, получающие данные во время сеанса событий.
Подсистема расширенных событий SQL ServerОписывает подсистему, которая реализует сеанс расширенных событий, а также управляет им.
Сеансы расширенных событий SQL ServerОписывает сеанс расширенных событий.

Архитектура расширенной подсистемы событий

Расширенные события представляют собой нашу общую систему обработки событий для серверных систем. Инфраструктура расширенных событий поддерживает корреляцию данных из SQL Server, а при определенных условиях — корреляцию данных из операционной системы и приложений баз данных. В случае с операционной системой выходные данные расширенных событий могут направляться в службу трассировки событий Windows (ETW). Служба ETW может обеспечивать сопоставление данных событий с данными событий операционной системы или приложений.

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

Расширенные события поддерживают использование данных событий вне процесса. Эти данные обычно используются пользователями для администрирования или поддержки продукта путем отслеживания производительности или пользовательской разработки приложений в продукте в целях отладки. Данные потребляются или анализируются с помощью таких средств, как Профилировщик XEvent и Монитор производительности, T-SQL или программы командной строки Windows.

Ключевые аспекты расширенных событий:

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

События отделены от действий, предпринимаемых при возникновении события. Следовательно, любое действие можно связать с любым событием.

Предикаты могут применять динамические фильтры, когда необходимо получить данные события. Динамическая фильтрация делает инфраструктуру расширенных событий более гибкой. Дополнительные сведения см. в разделе SQL Server Extended Events Packages.

Расширенные события могут синхронно создавать данные событий (и асинхронно обрабатывать эти данные), чем обеспечивается гибкое решение для обработки событий. Кроме того, расширенные события предоставляют следующие возможности.

Унифицированный подход к обработке событий во всей серверной системе, одновременно разрешающий пользователям изолировать отдельные события для устранения неполадок.

Интеграция и поддержка существующих инструментов приложения трассировки событий Windows.

Полностью настраиваемый механизм обработки событий на основе языка Transact-SQL.

Возможность динамического мониторинга активных процессов с минимальным влиянием на эти процессы.

Сеанс работоспособности системы по умолчанию, который выполняется без каких-либо заметных последствий для производительности. В этом сеансе собираются системные данные, которые можно использовать для решения проблем производительности. Дополнительные сведения см. в статье Использование сеанса system_health.

Задачи расширенной подсистемы событий

Использование среды Среда Management Studio или языка Transact-SQL для выполнения инструкций Transact-SQL языка описания данных DDL, динамических административных представлений и функций или представлений каталога дает возможность создавать простые и комплексные решения для диагностики расширенных событий SQL Server в среде SQL Server.

Выполните следующий запрос Transact-SQL (T-SQL), чтобы вывести список всех возможных расширенных событий с их описанием:

Примеры кода для базы данных SQL Azure могут отличаться

В некоторые примеры кода Transact-SQL, написанные для локального сервера SQL Server, необходимо внести небольшие изменения, чтобы они выполнялись в службе «База данных SQL Azure» в облаке. Одна категория таких примеров кода включает системные представления, чьи префиксы имен немного различаются в двух системах баз данных:

Имя в локальной системе версии 2017Имя в облачной службе
server_event_notifications
server_event_session_actions
server_event_session_events
server_event_session_fields
server_event_session_targets
server_event_sessions
server_events
server_trigger_events
database_event_session_actions
database_event_session_events
database_event_session_fields
database_event_session_targets
database_event_sessions

Списки в таблице выше актуальны на июнь 2019 г. Однако содержимое таблицы может устареть, так как оно не обновляется. Чтобы получить точные списки, выполните приведенную ниже инструкцию T-SQL SELECT. Выполните инструкцию SELECT два раза: по одному разу для каждой системы баз данных.

Источник

Инфраструктура профилирования запросов

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

Несмотря на то, что для доступности действительного плана запроса необходимо дождаться завершения выполнения запроса, динамическая статистика запросов может анализировать процесс выполнения запроса в режиме реального времени, по мере передачи управления от одного оператора плана запроса другому. Динамический план запроса отображает общий ход выполнения запроса и текущую статистику выполнения на уровне оператора, например число полученных строк, затраченное время, ход выполнения оператора и т. д. Так как эти данные доступны в режиме реального времени и, чтобы их увидеть, не нужно дожидаться завершения запроса, такая статистика чрезвычайно полезна для отладки проблем с производительностью запросов, таких как долгое или «бесконечное» выполнение запросов.

Стандартная инфраструктура профилирования статистики выполнения запросов

Инфраструктуру профилей статистики выполнения запросов, или стандартное профилирование, необходимо включить для сбора сведений о планах выполнения, а именно числе строк, использовании ЦП и операциях ввода-вывода. Следующие методы сбора сведений о плане выполнения для целевого сеанса используют стандартную инфраструктуру профилирования:

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

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

При выполнении сеанса расширенного события, использующего событие query_post_execution_showplan, также заполняется динамическое административное представление sys.dm_exec_query_profiles, которое включает динамическую статистику запросов для всех сеансов при помощи монитора активности или прямого запроса динамического административного представления. Дополнительные сведения см. в статье Live Query Statistics.

Упрощенная инфраструктура профилирования статистики выполнения запросов

Начиная с SQL Server 2014 (12.x) SP2 и SQL Server 2016 (13.x); была введена новая упрощенная инфраструктура профилирования статистики выполнения запросов, или упрощенное профилирование.

Хранимые процедуры, скомпилированные в собственном коде, не поддерживаются в упрощенном профилировании.

Упрощенная инфраструктура профилирования статистики выполнения запросов версии 1

Область применения: SQL Server (с SQL Server 2014 (12.x) с пакетом обновления 2 по SQL Server 2016 (13.x);).

Начиная с SQL Server 2014 (12.x) SP2 и SQL Server 2016 (13.x); потребление ресурсов при сборе сведений о планах выполнения было снижено путем введения упрощенного профилирования. В отличие от стандартного, упрощенное профилирование не собирает сведения о ЦП среды выполнения. Однако упрощенное профилирование по-прежнему собирает сведения о количестве строк и сведения об использовании операций ввода-вывода.

Также было добавлено новое расширенное событие query_thread_profile, использующее упрощенное профилирование. Это расширенное событие предоставляет статистику выполнения по операторам, позволяя получить больше сведений о производительности каждого узла и потока. Ниже приведен пример сеанса, использующего это расширенное событие.

При выполнении сеанса расширенного события, использующего событие query_thread_profile, также заполняется динамическое административное представление sys.dm_exec_query_profiles с помощью упрощенного профилирования, которое включает динамическую статистику запросов для всех сеансов при помощи монитора активности или прямого запроса динамического административного представления.

Упрощенная инфраструктура профилирования статистики выполнения запросов версии 2

Область применения: SQL Server (с SQL Server 2016 (13.x); с пакетом обновления 1 по SQL Server 2017 (14.x);)

SQL Server 2016 (13.x); SP1 включает переработанную версию упрощенного профилирования с минимальным потреблением ресурсов. Упрощенное профилирование можно также включить глобально с помощью флага трассировки 7412 в версиях, указанных выше в поле Применимо к. Новая функция динамического управления sys.dm_exec_query_statistics_xml введена для возвращения плана выполнения запроса для активных запросов.

Начиная с SQL Server 2016 (13.x); SP2 CU3 и SQL Server 2017 (14.x); CU11, если упрощенное профилирование не включено глобально, можно использовать указание запроса USE HINT с новым аргументом QUERY_PLAN_PROFILE для включения упрощенного профилирования на уровне запроса для любого сеанса. После завершения запроса, содержащего это новое указание, также выводится новое расширенное событие query_plan_profile _, предоставляющее действительный план выполнения в формате XML, аналогично расширенному событию _query_post_execution_showplan.

Расширенное событие query_plan_profile также использует упрощенное профилирование, даже если указание запроса отсутствует.

Пример сеанса с расширенным событием query_plan_profile можно настроить, как показано ниже:

Упрощенная инфраструктура профилирования статистики выполнения запросов версии 3

Применимо к: SQL Server (начиная с SQL Server 2019 (15.x)) и База данных SQL Azure

Новое расширенное событие query_post_execution_plan_profile служит для сбора эквивалента действительного плана выполнения на основе упрощенного, а не стандартного профилирования, как в случае с событием query_post_execution_showplan. SQL Server 2017 (14.x); также предлагает это событие, начиная с CU14. Пример сеанса с расширенным событием query_post_execution_plan_profile можно настроить, как показано ниже.

Пример 1. Сеанс расширенных событий на основе стандартного профилирования

Пример 2. Сеанс расширенных событий на основе упрощенного профилирования

Руководство по использованию инфраструктуры профилирования запросов

В приведенной ниже таблице перечислены действия по включению стандартного или упрощенного профилирования глобально (на уровне сервера) или в одном сеансе. В ней также приведены сведения о минимальных версиях, поддерживающих это действие.

Remarks

Из-за возможных случайных нарушений прав доступа во время выполнения мониторинга хранимой процедуры, которая ссылается на sys.dm_exec_query_statistics_xml, необходимо установить исправление 4078596 КБ на SQL Server 2016 (13.x); и SQL Server 2017 (14.x);.

В SQL Server 2017 (14.x); упрощенное профилирование по умолчанию отключено, но оно включается при запуске трассировки XEvent на основе query_post_execution_plan_profile и снова отключается при остановке трассировки. Поэтому если трассировка XEvent на основе query_post_execution_plan_profile часто запускается и останавливается на экземпляре SQL Server 2017 (14.x);, настоятельно рекомендуется включить упрощенное профилирование на глобальном уровне, установив флаг трассировки 7412, чтобы избежать повторяющихся издержек на включение и отключение профилирования.

Источник

Приложение SQL Server Profiler

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

Трассировка SQL и Приложение SQL Server Profiler являются устаревшими. Пространство имен Microsoft.SqlServer.Management.Trace, которое содержит объекты трассировки Microsoft SQL Server и Replay, также устаревшее.

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

Вместо этого используйте расширенные события. Дополнительные сведения о расширенных событиях см. в разделе Быстрое начало. Расширенные события в SQL Server и SSMS XEvent Profiler.

Приложение SQL Server Profiler для рабочих нагрузок Analysis Services поддерживается.

При попытке подключиться к Базе данных SQL Azure из SQL Server Profiler она некорректно выдает сообщение об ошибке, как показано ниже.

В сообщении должно объясняться, что База данных SQL Azure не поддерживается SQL Server Profiler.

Где находится профилировщик?

Захват и воспроизведение данных трассировки

Компонент\целевая рабочая нагрузкаРеляционный механизмСлужбы Analysis Services
Запись трассировкиГрафический пользовательский интерфейсрасширенных событий в среде SQL Server Management StudioПриложение SQL Server Profiler
Воспроизведение трассировкиРаспределенное воспроизведениеПриложение SQL Server Profiler

Использование SQL Server Profiler

Приложение Microsoft Приложение SQL Server Profiler — это графический пользовательский интерфейс для трассировки SQL, с помощью которого можно наблюдать за экземпляром компонента Компонент Database Engine или службами Analysis Services. Приложение позволяет собирать и сохранять данные о каждом событии в файле или в таблице для последующего анализа. Например, с помощью приложения можно следить за производственной средой, чтобы определить, какие хранимые процедуры снижают производительность из-за того, что выполняются слишком медленно. Приложение SQL Server Profiler используется для таких действий, как:

пошаговое выполнение проблемных запросов для поиска источника проблемы;

выявление и диагностика медленно работающих запросов;

контроль производительности SQL Server для настройки рабочих нагрузок. Дополнительные сведения о настройке физической структуры базы данных для рабочих нагрузок см. в разделе Database Engine Tuning Advisor.

Анализ счетчиков производительности для диагностики проблем.

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

Основные понятия приложения SQL Server Profiler

Для использования Приложение SQL Server Profilerнеобходимо понимать термины, описывающие работу данного средства.

Понимание трассировки SQL особенно полезно при работе с Приложение SQL Server Profiler. Дополнительные сведения см. в статье SQL Trace.

Событие

Событие — это действие экземпляра Компонент SQL Server Database Engine. Примеры:

Все данные, создаваемые событием, отображаются в трассировке одной строкой. Эта строка пересекается столбцами данных, подробно описывающими данное событие.

EventClass

Класс событий — это тип трассируемого события. Класс событий содержит все данные, которые может сообщить событие. Примеры классов событий

EventCategory

DataColumn

Столбец данных — это атрибут классов событий, захваченных при трассировке. Поскольку класс событий определяет тип собираемых данных, не все столбцы данных применимы ко всем классам событий. Например, при трассировке, которая захватывает событие Блокировка: получено, столбец данных BinaryData содержит значение идентификатора блокированной страницы или строки, а столбец данных Integer Data не содержит никаких значений, поскольку он неприменим к захватываемому классу событий.

Шаблон

Шаблон определяет конфигурацию трассировки по умолчанию. А именно, он включает классы событий, которые нужно контролировать в Приложение SQL Server Profiler. Например, можно создать шаблон, указывающий используемые события, столбцы данных и фильтры. Шаблоны не выполняются, а сохраняются в файлах с расширением TDF. После сохранения шаблон управляет захватом данных, если запускается трассировка, основанная на этом шаблоне.

Трассировка

В SQL Server предусмотрено два способа трассировки экземпляра SQL Server: с помощью Приложение SQL Server Profiler или системных хранимых процедур.

Filter

При создании трассировки или шаблона можно определить критерии для фильтрации данных, собираемых событием. Чтобы трассировки не становились слишком большими, можно устанавливать фильтры, чтобы собирать только подмножества данных о событиях. Например, в трассировке можно указать определенные имена пользователей Microsoft Windows, тем самым уменьшив объем выходных данных.

Если фильтр не установлен, то на выход трассировки возвращаются все события выбранных классов событий.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *