sql server profiler что это

Выполнение приложения SQL Server Profiler

Приложение SQL Server Profiler можно запустить несколькими способами для получения данных трассировки в разных сценариях. Можно запустить приложение Приложение SQL Server Profiler из меню Пуск Windows 10, из меню Сервис в помощнике по настройке компонента Компонент Database Engine и из нескольких расположений в среде SQL Server Management Studio.

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

Запуск приложения SQL Server Profiler из меню «Пуск» Windows 10

Запуск SQL Server Profiler в помощнике по настройке ядра СУБД

Запуск SQL Server Profiler в SQL Server Management Studio

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

Запуск приложения SQL Server Profiler из меню «Инструменты»

Запуск приложения SQL Server Profiler из редактора запросов

В редакторе запросов щелкните правой кнопкой мыши, а затем выберите пункт Трассировка запроса в приложении SQL Server Profiler.

Контекстом соединения является редактор соединения, шаблон трассировки — TSQL_SP, а применяемый фильтр SPID = окно запроса SPID.

Запуск приложения SQL Server Profiler из монитора активности

В мониторе активности щелкните панель Процессы, щелкните правой кнопкой процесс, который хотите профилировать, а затем выберите пункт Трассировка процесса в приложении SQL Server Profiler.

Когда выбран процесс, контекстом соединения является соединение обозревателя объектов при открытии монитора активности. Шаблон трассировки — это шаблон по умолчанию в зависимости от типа сервера, а идентификатор SPID равен идентификатору SPID для выбранного процесса.

Источник

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

Служебная программа profiler не предназначена для написания скриптов трассировки. Дополнительные сведения см. в разделе Start SQL Server Profiler.

Синтаксис

Аргументы

По возможности используйте аутентификацию Windows..

/E
Задает подключение с использованием проверки подлинности Windows с учетными данными текущего пользователя.

/D database
Указывает имя базы данных, которая будет использоваться с соединением. Если база данных не указывается, этот аргумент выберет базу данных по умолчанию для указанного пользователя.

/B « trace_table_name «
Указывает таблицу трассировки для загрузки при запуске профайлера. Необходимо задать базу данных, пользователя или схему, а также таблицу.

/T» template_name «
Указывает шаблон, загружаемый для настройки трассировки. Имя шаблона должно быть заключено в кавычки. Имя шаблона должно находиться либо в системном каталоге шаблонов, либо в пользовательском каталоге шаблонов. В случае существования двух шаблонов с одним именем в обоих каталогах будет загружен шаблон, находящийся в системном каталоге. Если шаблон с указанным именем не существует, то будет загружен стандартный шаблон. Примечание. Расширение файла для шаблона (TDF) в аргументе template_name указывать не нужно. Пример:

/F» filename «
Указывает путь и имя файла трассировки, загружаемого при запуске профайлера. Полный путь и имя файла должны быть заключены в кавычки. Этот параметр нельзя использовать совместно с параметром /O.

/O « filename «
Указывает путь и имя файла, в который должны быть записаны результаты трассировки. Полный путь и имя файла должны быть заключены в кавычки. Этот параметр нельзя использовать совместно с параметром /F.

/L locale_ID
Недоступно.

/M « MM-DD-YY hh:mm:ss «
Задает дату и время остановки трассировки. Время остановки должно быть заключено в кавычки. Задайте время остановки согласно параметрам в следующей таблице.

ПараметрОпределение
МММесяц (2 разряда)
DDДень (2 разряда)
ГГГод (2 разряда)
hhЧас (2 разряда), в 24-часовом формате
МММинуты (2 разряда)
ссСекунды (2 разряда)

Формат «ММ-ДД-ГГ чч:мм:сс» можно использовать только в том случае, если включен параметр Использовать региональные настройки при показе значений даты и времени в приложении Приложение SQL Server Profiler. Если этот параметр не включен, следует использовать формат даты и времени «ГГГГ-ММ-ДД чч:мм:сс».

/R
Включает операцию переключения на файл продолжения трассировки.

/Z file_size
Определяет размер файла трассировки в мегабайтах (МБ). Размер по умолчанию составляет 5 МБ. Если включена операция переключения, все файлы продолжения будут ограничены значением, указанным в этом аргументе.

Remarks

Источник

Анализ запросов с помощью SQL Profiler

В своей работе мы довольно часто сталкиваемся с ситуацией, когда определенный запрос работает медленно, причем по тексту запроса невидно никаких очевидных проблем. Обычно в этом случае необходимо расследовать проблему на более глубоком уровне. Как правило, возникает необходимость посмотреть текст SQLзапроса и его план, и вот в этом нам как раз помогает SQLProfiler.

Что такое SQL Profiler и зачем оно вообще нужно

SQLProfilerэто программа поставляемая вместе с MS SQL Server и предназначена она для и просмотра всех событий, которые происходят в SQL сервер или говоря другими словами для записи трассировки. Зачем SQLProfiler может понадобиться программисту 1С? Хотя бы для того, что бы получить текст запроса на языке SQL и посмотреть его план. Конечно, это можно сделать и с помощью технологического журнала, но это требует некоторых навыков, да и план в ТЖ получается не такой красивый и удобочитаемый. В профайлере можно посмотреть не только текстовый, но и графический план выполнения запроса, что на мой взгляд, гораздо удобнее. Так же с помощью профайлера можно определить: запросы длиннее определенного времени запросы к определенной таблице ожидания на блокировках таймауты взаимоблокировки и многое другое…

Анализ запросов с помощью SQL Profiler

Наиболее часто профайлер используется именно для анализа запросов. Как правило, нам не нужно отслеживать все запросы, зачастую необходимо увидеть, как определенный запрос на языке 1С транслируется в SQL, и посмотреть план его выполнения. Например, это может потребоваться, что бы определить, почему запрос выполняется медленно или мы написали большой запрос и хотим убедиться, что текст запроса на языке SQL не содержит соединений с подзапросом. Что бы отловить запрос в трассировке делаем следующее:

Естественно, ничего не мешает выполнять трассировку сервера СУБД, который находится на другом компьютере. 4. В появившемся окне «Свойства трассировки» переходим на вторую закладку «Выбор событий»
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

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

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это
Описание событий: ShowplanStatisticsProfile– текстовый план выполнения запроса.
ShowplanXMLStatisticsProfile– графический план выполнения запроса.
RPC:Completed– текст запроса, если он выполняется как процедура (если выполняется запрос 1С с параметрами).
SQL:BatchCompleted– текст запроса, если он выполняется как обычный запрос (если выполнялся запрос 1С без параметров).

6. Теперь необходимо настроить фильтр для событий. Если этого не сделать, то мы будем видеть запросы для всех баз данных расположенных на данном сервере СУБД. Нажимаем кнопку «Фильтры столбцов» и указываем фильтр по имени базы данных

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

Теперь мы будем видеть в трассировке только запросы к базе данных «TestBase_8_2» При желании можно поставить фильтр и по другим полям, наиболее интересные из них: Duration(Длительность), TextData(обычно это текст запроса) и RowCounts (количество строк возвращаемых запросом).

Например, если мне нужно отловить все запросы к таблице «_InfoRg4312» длительностью более 3-х секунд в базе данных «TestBase_8_2», то я делаю:
a) Фильтр по базе данных, пример показан выше
b) Фильтр по длительности в миллисекундах.
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

c) Фильтр по тексту запроса
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это
Здесь мы указываем маску. Если необходимо отслеживать запросы, которые обращаются к нескольким таблицам, то создаем несколько элементов в разделе «Похоже на». Условия всех фильтров работают вместе.

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

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это
Слева на право: Ластик – очищает окно трассировки, Пуск – запускает трассировку, Пауза – ставит трассировку на паузу, при нажатии на Пуск трассировка возобновляется, Стоп – останавливает трассировку

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

9. Выполним запрос в консоли запросов 1С и посмотрим как он отразится в профайлере.
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это
По трассировке видно, что запросов получилось несколько и только один из них наш. Остальные запросы являются служебными.

10. По свойствам событий можно понять: сколько секунд выполнялся запрос (Duration), сколько было логических чтений (Reads), сколько строк запрос вернул в результате (RowCounts) и т.д. В моем случае запрос выполнялся 2 миллисекунды, сделал 4 логических чтения и вернул 1 строку.

11. Если подняться на одно событие выше, то мы сможем увидеть план запроса в графическом виде.
Как видно из плана, поиск осуществляется по индексу по цене, хотя этот план нельзя назвать идеальным, т.к. индекс не является покрывающим, поля код и наименование получаются с помощью KeyLookup, что отнимает 50% времени.
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это
Используя контекстное меню, графический план можно сохранить в отдельный файл с расширением *.SQLPlan и открыть его в профайлере на другом компьютере или с помощью более продвинутой программы SQL Sentry Plan Explorer.

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

12. Если подняться еще выше, то мы увидим тот же план запроса, но уже в текстовом виде. Именно этот план отображается в ТЖ, ЦУП и прочих средствах контроля производительности 1С. Для его анализа рекомендую использовать продвинутый текстовый редактор с подсветкой, например Notepad++.

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

13. Использую меню «Файл-Сохранить как», всю трассировку можно сохранить в различные форматы:
a) В формат самого профайлера, т.е. с расширением *.trc
b) В формат xml
c) Можно сделать из трассировки шаблон. См. следующий пункт.
d) Можно сохранить трассировку в виде таблицы базы данных. Удобный способ, если нам нужно найти например самый медленный запрос во всей трассировке либо отобрать запросы по какому-либо параметру. Файл – Сохранить как – Таблица трассировки – Выбираем сервер СУБД и подключаемся к нему Далее нужно выбрать базу данных на указанном сервере и указать имя таблицы, куда будет сохранена трассировка. Можно выбрать уже существующую таблицу, либо написать новое имя и тогда таблица будет создана автоматически в выбранной базе данных.
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

Далее вы можете строить запросы любой сложности к этой таблице, например искать наиболее долгие запросы.

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

При этом нужно учитывать, что Duration сохраняется в таблицу в миллионных долях секунды и при выводе результата, желательно переводить значение в миллисекунды. Так же в таблицу добавляется столбец RowNumber, который показывает номер данной строки в трассировке.

14. Если вам требуется часто использовать профайлер для анализа запросов, то настройка необходимых фильтров и событий быстро надоест и к тому же будет отнимать много времени. На помощь приходят шаблоны трассировок, где мы указываем нужные нам фильтры и порядок колонок, а далее просто выбираем этот шаблон при создании новой трассировки. Для создания шаблона используем меню Файл – Шаблоны – Новый шаблон

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

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

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

Теперь при создании новой трассировки вы можете просто указать необходимый шаблон, после этого на второй закладке все фильтры и события заполнятся автоматически.
sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

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

Источник

Приложение 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, тем самым уменьшив объем выходных данных.

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

Источник

Расширение SQL Server Profiler (предварительная версия)

Расширение SQL Server Profiler (предварительная версия) предоставляет простое решение трассировки для SQL Server, аналогичное профилировщику SQL Server Management Studio (SSMS), но созданное на основе Расширенных событий. SQL Server Profiler прост в использовании и имеет значения по умолчанию, подходящие для наиболее распространенных конфигураций трассировки. Интерфейс оптимизирован для просмотра событий и просмотра соответствующего текста Transact-SQL (T-SQL). В SQL Server Profiler для Azure Data Studio также предполагается наличие правильных значений по умолчанию для сбора действий по выполнению T-SQL с простым пользовательским интерфейсом. Сейчас это расширение находится в режиме предварительной версии.

Распространенные сценарии использования профилировщика SQL:

Установка расширения SQL Server Profiler

Чтобы открыть диспетчер расширений и получить доступ к имеющимся расширениям, щелкните значок расширений или выберите пункт Расширения в меню Вид.

Выберите доступное расширение и просмотрите сведения о нем.

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

Выберите нужное расширение и установите его.

Выберите Перезагрузить, чтобы включить расширение (требуется только при первой установке расширения).

Запуск Profiler

Чтобы запустить Profiler, сначала установите подключение к серверу на вкладке «Серверы».

После создания подключения нажмите ALT+P, чтобы открыть Profiler.

Чтобы запустить Profiler, нажмите ALT+S. Теперь можно начать просмотр расширенных событий.

sql server profiler что это. Смотреть фото sql server profiler что это. Смотреть картинку sql server profiler что это. Картинка про sql server profiler что это. Фото sql server profiler что это

Чтобы остановить Profiler, нажмите ALT+S. Это сочетание клавиш является переключателем.

Дальнейшие действия

Дополнительные сведения о Profiler и расширенных событиях см. в разделе Расширенные события.

Источник

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

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