Меню Закрыть

Sql server profiler как пользоваться

Содержание

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

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

Принцип работы SQL Server Profiler

Инструмент работает, обеспечивая администраторам БД и разработчикам общее представление о системе. Пользователи создают трассировки для сбора данных и отслеживания ошибок. Затем используют профилировщик для хранения, извлечения и графического просмотра результатов трассировок в целях устранения неполадок и ремонта. Эта функция происходит на стороне клиента, то есть она использует ресурсы на той же машине, за которой наблюдает.

Чтобы запустить ПО, переходят в "Пуск" > "Программы" > Microsoft SQL Server > "Инструменты производительности" > SQL Profiler.

Список преимуществ ПО для разработчиков и администраторов баз данных:

  1. Ясность — демонстрация работы экземпляра, когда он взаимодействует с клиентом.
  2. Средство устранения проблем — помогает сосредоточиться на критичных точках, позволяя захватывать и воспроизводить ключевые события. Эта функция также помогает в стресс-тестировании и идентификации медленно выполняющихся запросов.
  3. Разрешает пользователям без прав администратора безопасно создавать следы, может удовлетворить потребности администраторов, разработчиков баз данных, специалистов по бизнес-аналитике, ИТ-специалистов и даже бухгалтеров.
  4. Сравнивает активность с базовыми показателями. Это позволяет юзерам сохранять данные трассировки и сравнивать их с новыми данными, чтобы выявить проблемные места.
  5. Захватывает трассировки для Transact-SQL, служб SSIS и аналитики.

Инструменты анализа баз данных

Администратору баз данных необходимы инструменты, позволяющие анализировать действия в БД SQL Server для устранения возможных проблем приложения, БД или просто для мониторинга общего состояния системы. Доступ к интерфейсу SQL Profiler получают из Server Management Studio.

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

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

Наконец, MS SQL Profiler используется для выполнения аудита. У пользователя есть возможность определять данные входа и выхода из системы, чтобы видеть, кто обращается к экземпляру и из каких систем они получают к нему доступ. Можно записывать все события DDL, которые будут содержать журнал всех изменений, внесенных в среду.

Доступные версии программы

MS SQL Profiler доступен только в выпусках SQL Server Enterprise, Business Intelligence и Standard, однако если в среде установлен выпуск Enterprise или Standard, его можно использовать для профилирования любых других выпусков, например, Express SQL Profiler или Web. Расширенные события были выпущены в Server 2008, который считается заменой Profiler или Trace, по-прежнему широко используется и продолжает представлять ценность для удовлетворения многочисленных потребностей администраторов баз данных.

Как при установке MS SQL server Profiler, так и при создании схемы БД существуют рекомендации, которые следует соблюдать. Есть также некоторые советы, которые следует учитывать при настройке трассировки с использованием Profiler. Эти рекомендации помогут пользователю контролировать экземпляр Server, не вызывая чрезмерных расходов и не увеличивая влияние на проблему производительности.

Шаблоны для быстрого доступа

Есть несколько вариантов запуска Profiler. В разных версиях Windows открывают его через «Пуск» или из Metro Interface в более поздних выпусках. Более продвинутые пользователи предпочитают просто запустить его из SSMS, который всегда открыт. Юзер может найти SQL в меню инструментов.

После запуска приложения открывают диалоговое окно, позволяющее выполнить подключение к серверу, который нужно профилировать. Из раздела «Рекомендации» подключаются к удаленному серверу. После того как заполнены данные подключения, нажимают «Подключиться».

Теперь, когда пользователь подключен к серверу, он увидит окно «Свойства трассировки», в котором есть две вкладки. Первая — «Общие» — позволяет называть след.

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

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

Выбор событий для отслеживания

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

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

Событие — это действие, которое происходит в пользовательском экземпляре базы данных SQL Profiler Oracle. В трассировке можно настроить более 150 различных событий.

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

Определение столбцов данных

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

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

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

Фильтры в сеансе трассировки

Profiler позволяет пользователю фильтровать данные, захваченные в сеансе SQL. r, чтобы ограничить объем захватываемых. Фильтр применяется к любому столбцу, являющемуся частью выбранного события. Даже если столбец не сохранен как часть сеанса трассировки SQL, все равно применяют фильтры на его основе. Чтобы создать фильтр, выбирают кнопку «Фильтры столбцов» на вкладке «Выбор».

После выбора откроется диалоговое окно «Редактировать фильтр». Далее выбирают столбец данных LoginName, в котором содержатся предложения сравнения текста, и отфильтровывают с помощью LoginName, например, именем «Сервер». При использовании оператора LIKE следует иметь в виду, что если пользователь не включит подстановочный знак «%», он будет рассматриваться как оператор равенства (=). Например, если нужно найти какого-либо оператора, выполненного именем входа, которое начинается с «app», в качестве фильтра будет «app%». В зависимости от выбранного столбца появятся различные операторы сравнения.

Читайте также:  Сушилка для рук dyson airblade

Рекомендации по настройке

Profiler — отличный инструмент, который позволяет увидеть, что происходит внутри Server, и поможет пользователям выяснить, какие наихудшие запросы, как часто выполняется запрос.

Для реализации наилучших возможных индексов выполняют 4 шага:

  1. Сбор текущей информации о рабочей нагрузке.
  2. Определение соответствия индексов рабочей нагрузке, используя Profiler.
  3. Обновление индексов с помощью Tuning Advisor.
  4. Профилировщик автоматизирует сбор данных рабочей нагрузки, а консультант по настройке берет эти данные и создает индексы.

Для отслеживания в конкретной БД используют функцию фильтрации столбцов. Запускают трассировку через шаблон настройки и сохраняют данные трассировки в его файл.

  1. Нажимают на "Инструменты".
  2. Открывают помощник настройки ядра.
  3. Предоставляют трассирующий файл.
  4. Выбирают БД, в которой необходимо выполнить процесс трассировки.
  5. В "Настройках" переходят в "Дополнительные параметры" и определяют максимальное пространство для рекомендации.
  6. Начинают анализ.

Результаты показывают, насколько можно добиться улучшения, если предложения будут реализованы, и что нужно реализовать для повышения скорости работы БД.

Для того чтобы перехватить взаимоблокировки с помощью Profiler, делают следующее:

  1. Фиксируют тупик, сначала подключаются к БД Server.
  2. Открывают Profiler в Server Management Studio.
  3. Нажимают на "Инструменты".
  4. Нажимают на Profiler.

Подключение к серверу и анализ ситуации

Перед тем как начать пользоваться SQL Server Profiler, подключаются к серверу, на котором нужно выполнить профилирование. В окне «Свойства трассировки» на вкладке «Общие» выбирают пустой шаблон. На вкладке «Выбор событий» выбирают график «тупик» в разделе «Лист блокировки».

Выполняют следующие запросы:

  • выполнить запрос в синем прямоугольнике;
  • выполнить запрос в зеленом прямоугольнике;
  • выполнить запрос, выделенный серым цветом;
  • выполнить запрос, выделенный синим.

Обращают внимание, что идентификаторы процессов отображаются на информационной панели в SQL. "Мертвая блокировка" будет сгенерирована при выполнении 4-го шага: для последующего анализа это можно сохранить в меню "Файл" -> "Экспорт" -> "Извлечь события SQL Server" -> "Извлечь события взаимоблокировки".

Анализ графа тупиковой ситуации:

  1. Овальный с синим крестиком представляет транзакцию или процесс, который был выбран в качестве жертвы тупика SQL Server.
  2. Овалы представляют процессы, а крест — транзакцию или процесс, который успешно завершен.
  3. Приоритет взаимоблокировки установлен по умолчанию «0».

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

HoBtID (идентификатор кучи или двоичного дерева), связанный с узлом ресурса, используется для поиска объекта базы данных, участвующего во взаимоблокировке, и представлен с помощью следующего запроса:

    SELECT object_name([object_ >Стрелки представляют типы блокировок, которые имеются на каждом узле ресурса. Обозначения X и S на стрелках представляют эксклюзивные и общие блокировки.

Использование профиля в 1С

SQL Server Profiler с графической оболочкой используется в бухгалтерской программе 1С для создания трасс и анализа результирующей трассировки с сохранением событий в трассировочных файлах. На их базе выполняется анализ ситуации образовавшихся проблем.

Для создания треков в Profiler запускают программу, формируют маршрут и настраивают анализ индикаторов. Перед тем как настроить для 1С SQL Profiler, выполняют следующие шаги:

  1. Указывают имя трассы General, где удаленные данные трассировки будут храниться.
  2. На вкладке «Выбор события» показаны события для отслеживания
  3. Начинают трассировку в профилировщике для 1С после выполнения настроек через кнопку «Выполнить».
  4. Например, запускают трек «Получение материалов», чтобы отследить операции, которые занимают больше всего времени.
  5. После получения данных анализируют их.
  6. Анализ профиля сохраняют в файле или в таблице, например, под названием «материалы».
  7. После сохранения работают с ней как с обыкновенной таблицей SQL.

Альтернативные инструменты профилировщика

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

  1. Prefix. Одна из замечательных функций, которую имеет Prefix — это просматривать запросы SQL прямо из кода приложения, чтобы получать не только точные, но и контекстные сведения. Он бесплатный, невероятно надежный и предоставляет подробные сведения о каждом веб-запросе.
  2. ExpressProfiler — альтернатива, которая использует простой и быстрый графический интерфейс пользователя.
  3. Neor Profile SQL предоставляет аналогичные возможности для пользователей MySQL.

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

Таким образом, очевидно, что профилировщик позволяет разработчикам и администраторам баз данных (DBA) создавать и обрабатывать трассировки, а также воспроизводить и анализировать их результаты.

В данной теме я хочу поговорить об очень полезном инструменте — SQL Server Profiler.

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

На текущий момент Microsoft продвигает другой аналогичный инструмент — Extended Events и рекомендует пользоваться им, тем не менее я считаю полезным уметь работать и с инструментом Profiler.

Настройка приложения

В профайлере, начиная с версии 2005, в настройках приложения присутствует флажок «Показывать значения в столбце «Продолжительность» в микросекундах» (Show values in Duration column in microseconds). Данный флажок управляет как отображением значения в соответствующей колонке, так и значением, устанавливаемым для отбора по данной колонке. На мой взгляд, при работе с Profiler удобнее использовать микросекунды, поэтому советую данный флажок установить. Настройка находится в меню Сервис (Tools) → Параметры (Options).

Общие параметры

Запуск трассировки в Profiler

Для того чтобы запустить новую трассировку в Profiler необходимо:

  1. Открыть приложение SQL Server Profiler
  2. Выбрать пункт основного меню «Файл» (File), в нем «Создать трассировку» (New Trace)
  3. В открывшемся диалоге подключиться к нужному экземпляру SQL Server
  4. В открывшемся окне настроить трассировку
  5. Запустить трассировку

Настройка трассировки

Из вышеприведенного списка действий, самым сложным (а по своей сути — единственным) является настройка трассировки. Она имеет множество вариантов, попробуем разобрать основные из них.

Вкладка общие

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

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

Вывод данных трассировки может происходить:

  1. На экран в новом окне — вывод происходит на экран, при этом в дальнейшем трассировку можно будет сохранить как в файл, так и в таблицу в СУБД (даже если опции записи в файл и/или таблицу не были включены)
  2. Записывать в файл на диске (опционально) — дополнительно к выбранным опциям, данные будут записываться в файл на диске. Далее этот файл можно открыть через профайлер. Эта опция удобна для сохранения и/или для передачи трассировки.
  3. Записывать в таблицу базы данных (опционально) — дополнительно к выбранным опциям, данные будут записываться в таблицу базы данных. Далее, посредством возможностей предоставляемых СУБД, можно произвести анализ данных, например, найти самые длительные события или просуммировать общую длительность.

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

Перед продолжением настройки установим шаблон «Пустой» (Blank), имя трассировки может быть произвольным, все остальные флажки могут быть сняты.

Основные свойства трассировки

Вкладка выбора событий

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

Выбор событий — это основная часть настройки трассировки, он предполагает работу с матрицей: «Событие» — «Свойство события». Таким образом, в этой матрице надо установить флажки по тем событиям и их свойствам, которые мы хотим трассировать.

Помимо матрицы событий и их свойств, на форме присутствуют флажки: «Показать все события» (Show all events) и «Показать все столбцы» (Show all columns). При установленном флажке в матрице раскрываются все события/столбцы, при снятом остаются только выбранные. Помимо этого, флажок «Показать все столбцы» влияет на отображение данных в «Фильтры столбцов» — отображаемый список соответствует отображаемым столбцам в матрице. При этом, даже если столбец скрыт (не выбран в матрице и снят флаг «Показать все столбцы»), но отбор на него был установлен — отбор сработает.

Читайте также:  Усилитель в защите причины

«Фильтры столбцов» (Column Filters) — открывает список столбцов по которым можно установить отборы. Если значение события при трассировке не подходит под значение отбора в столбце, данное событие не будет отражено в трассировке. Таким образом, можно установить отбор на информационную базу, по которой необходимо произвести трассировку.

«Упорядочить столбцы» (Organize Columns) — используется для изменения (организации) порядка следования выводимых колонок.

Выбор событий трассировки

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

Для того чтобы получить план запроса в Profiler следует добавить следующие события:

Событие Описание
Showplan All Выводит подробную информацию о предполагаемом плане запроса в текстовом виде
Showplan Statistics Profile Выводит подробную информацию о действительном плане запроса в текстовом виде
Showplan XML Выводит подробную информацию о предполагаемом плане запроса в XML формате (может быть представлен графически)
Showplan XML Statistics Profile Выводит подробную информацию о действительном плане запроса в XML формате (может быть представлен графически)

Помимо вышеприведенных событий, для получения полной картины происходящего полезно добавить события:

Событие Описание
RPC:Completed Происходит при завершении удаленного вызова процедуры
SQL:BatchCompleted Возникает при завершении выполнения инструкции Transact-SQL

Среди столбцов, выводимых в трассировке, рекомендуется включить: TextData, BinaryData, Reads, Writes, CPU, Duration, SPID.

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

Также полезно установить фильтры по длительности и базе данных. Как это сделать описано ниже в статье.

Другие способы получения плана запроса (без использования Profiler) описаны в статье «Методы получения плана запроса в СУБД MS SQL Server»

События для получения графа взаимоблокировки

Для получения графа взаимоблокировки достаточно добавить одноименное событие Locks: Deadlock graph.

Событие Deadlock graph возникает одновременно с классом событий Lock: Deadlock. Класс событий Deadlock graph предоставляет XML-описание взаимоблокировки.

Среди столбцов, выводимых в трассировке, рекомендуется включить: EventSequence, SPID, StartTime, TextData.

События для получения графа взаимоблокировки

События для получения информации об эскалации

Для получения информации об эскалации достаточно добавить событие Locks: Escalation.

Событие Escalation возникает при эскалации блокировки, т.е. когда блокировка более мелких фрагментов преобразуется в блокировку более крупных фрагментов.

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

События для получения информации об эскалации

Установка фильтров столбцов

Установить фильтры можно нажав на кнопку «Фильтры столбцов».

Установка отборов по столбцам

Важно понимать, не все события содержат те или иные колонки. Если событие не содержит колонку по которой установлен фильтр, данное событие отфильтровано не будет.

Очень полезным фильтром является отбор по имени базы или ее идентификатору (если в экземпляре находится несколько баз, а трассировать необходимо какую-то определенную). Для установки фильтра по имени базы необходимо для колонки DatabaseName установить значение «Похоже на» или «Не похоже на». Стоит отметить: если установленному значению будут отвечать несколько баз, тогда события будут собираться по каждой из них. Второй вариант фильтрации событий по определенной базе — установка отбора по колонке DatabaseID. Узнать идентификатор базы данных можно выполнив запрос в SQL Server Management Studio:

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

Приложение SQL Server Profiler SQL Server Profiler — это интерфейс для создания трассировок и управления ими, а также для анализа и воспроизведения полученных результатов. is an interface to create and manage traces and analyze and replay trace results. События сохраняются в файле трассировки, который затем может быть проанализирован или использован для воспроизведения определенных последовательностей шагов для выявления возникших проблем. Events are saved in a trace file that can later be analyzed or used to replay a specific series of steps when trying to diagnose a problem.

Трассировка SQL и Приложение SQL Server Profiler SQL Server Profiler являются устаревшими. SQL Trace and Приложение SQL Server Profiler SQL Server Profiler are deprecated. Пространство имен Microsoft.SqlServer.Management.Trace, которое содержит объекты трассировки Microsoft SQL Server и Replay, также устаревшее. The Microsoft.SqlServer.Management.Trace namespace that contains the Microsoft SQL Server Trace and Replay objects are also deprecated.

Этот компонент находится в режиме обслуживания и может быть удален в будущей версии Microsoft SQL Server. This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Приложение SQL Server Profiler SQL Server Profiler для рабочей нагрузки служб Analysis Services не устарел и будет по-прежнему поддерживаться. for Analysis Services workloads is NOT deprecated, and will continue to be supported.

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

В SQL Server Management Studio SQL Server Management Studio профилировщик можно запустить несколькими способами. You can start the Profiler in a number of ways from within SQL Server Management Studio SQL Server Management Studio . В этом разделе описано, как запустить профилировщик. Here is a topic that lists the ways to start the Profiler.

Захват и воспроизведение данных трассировки Capture and replay trace data

В следующей таблице показаны компоненты, с помощью которых мы рекомендуем выполнять захват и воспроизведение данных трассировки в SQL Server 2019 (15.x) SQL Server 2019 (15.x) . The following table shows the features we recommend using in SQL Server 2019 (15.x) SQL Server 2019 (15.x) to capture and replay your trace data.

Компонентцелевая рабочая нагрузка FeatureTarget Workload Реляционный механизм Relational Engine Службы Analysis Services Analysis Services
Запись трассировки Trace Capture Графический пользовательский интерфейс расширенных событий в SQL Server Management Studio SQL Server Management Studio Extended Events graphical user interface in SQL Server Management Studio SQL Server Management Studio Приложение SQL Server Profiler SQL Server Profiler
Воспроизведение трассировки Trace Replay Распределенное воспроизведение Distributed Replay Приложение SQL Server Profiler SQL Server Profiler

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

Приложение Microsoft Приложение SQL Server Profiler SQL Server Profiler — это графический пользовательский интерфейс для трассировки SQL, с помощью которого можно наблюдать за экземпляром компонента Компонент Database Engine Database Engine или службами Analysis Services. Microsoft Приложение SQL Server Profiler SQL Server Profiler is a graphical user interface to SQL Trace for monitoring an instance of the Компонент Database Engine Database Engine or Analysis Services. Приложение позволяет собирать и сохранять данные о каждом событии в файле или в таблице для последующего анализа. You can capture and save data about each event to a file or table to analyze later. Например, с помощью приложения можно следить за производственной средой, чтобы определить, какие хранимые процедуры снижают производительность из-за того, что выполняются слишком медленно. For example, you can monitor a production environment to see which stored procedures are affecting performance by executing too slowly. Приложение SQL Server Profiler SQL Server Profiler используется для таких действий, как: is used for activities such as:

пошаговое выполнение проблемных запросов для поиска источника проблемы; Stepping through problem queries to find the cause of the problem.

выявление и диагностика медленно работающих запросов; Finding and diagnosing slow-running queries.

перехват серии инструкций Transact-SQL Transact-SQL , ведущих к проблеме. Capturing the series of Transact-SQL Transact-SQL statements that lead to a problem. Сохраненную трассировку затем можно использовать для моделирования и диагностики проблемы на тестовом сервере; The saved trace can then be used to replicate the problem on a test server where the problem can be diagnosed.

контроль производительности SQL Server SQL Server для настройки рабочих нагрузок. Monitoring the performance of SQL Server SQL Server to tune workloads. Дополнительные сведения о настройке физической структуры базы данных для рабочих нагрузок см. в разделе Database Engine Tuning Advisor. For information about tuning the physical database design for database workloads, see Database Engine Tuning Advisor.

Читайте также:  Assassins creed unity описание

Анализ счетчиков производительности для диагностики проблем. Correlating performance counters to diagnose problems.

Приложение Приложение SQL Server Profiler SQL Server Profiler поддерживает также аудит действий, выполняемых в экземплярах SQL Server SQL Server . Приложение SQL Server Profiler SQL Server Profiler also supports auditing the actions performed on instances of SQL Server SQL Server . В ходе аудита ведется запись действий, связанных с безопасностью, для дальнейшего просмотра администратором безопасности. Audits record security-related actions for later review by a security administrator.

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

Для использования Приложение SQL Server Profiler SQL Server Profiler необходимо понимать термины, описывающие работу данного средства. To use Приложение SQL Server Profiler SQL Server Profiler , you need to understand the terms that describe the way the tool functions.

Понимание трассировки SQL действительно помогает при работе с Приложение SQL Server Profiler SQL Server Profiler . Understanding SQL Trace really helps when working with Приложение SQL Server Profiler SQL Server Profiler . Дополнительные сведения см. в статье SQL Trace. For more information, see SQL Trace.

Событие Event
Событие — это действие экземпляра Компонент SQL Server Database Engine SQL Server Database Engine . An event is an action generated within an instance of Компонент SQL Server Database Engine SQL Server Database Engine . Примеры: Examples of these are:

  • подключения пользователей, сбои, отключения; Login connections, failures, and disconnections.
  • инструкции Transact-SQL Transact-SQL , SELECT , INSERT , UPDATE и DELETE ; Transact-SQL Transact-SQL SELECT , INSERT , UPDATE , and DELETE statements.
  • состояние пакетов вызова удаленных процедур (RPC); Remote procedure call (RPC) batch status.
  • запуск или завершение хранимой процедуры; The start or end of a stored procedure.
  • инструкции запуска или завершения в хранимых процедурах; The start or end of statements within stored procedures.
  • запуск или завершение пакета SQL; The start or end of an SQL batch.
  • запись ошибки в журнал SQL Server SQL Server ; An error written to the SQL Server SQL Server error log.
  • получение блокировки или освобождение объекта базы данных; A lock acquired or released on a database object.
  • открытый курсор; An opened cursor.
  • проверки права доступа. Security permission checks.

Все данные, создаваемые событием, отображаются в трассировке одной строкой. All of the data generated by an event is displayed in the trace in a single row. Эта строка пересекается столбцами данных, подробно описывающими данное событие. This row is intersected by data columns that describe the event in detail.

EventClass EventClass
Класс событий — это тип трассируемого события. An event class is a type of event that can be traced. Класс событий содержит все данные, которые может сообщить событие. The event class contains all of the data that can be reported by an event. Примеры классов событий: Examples of event classes are the following:

  • SQL:BatchCompletedSQL:BatchCompleted
  • Аудит входа в системуAudit Login
  • Аудит выхода из системыAudit Logout
  • Lock:AcquiredLock:Acquired
  • Lock:ReleasedLock:Released

EventCategory EventCategory
Категория событий определяет способы группировки событий в Приложение SQL Server Profiler SQL Server Profiler . An event category defines the way events are grouped within Приложение SQL Server Profiler SQL Server Profiler . Например, все классы событий блокировок группируются в категории событий Блокировки . For example, all lock events classes are grouped within the Locks event category. Однако категории событий существуют только в Приложение SQL Server Profiler SQL Server Profiler . However, event categories only exist within Приложение SQL Server Profiler SQL Server Profiler . Этот термин не отображает способ группировки событий ядра. This term does not reflect the way Engine events are grouped.

DataColumn DataColumn
Столбец данных — это атрибут классов событий, захваченных при трассировке. A data column is an attribute of an event classes captured in the trace. Поскольку класс событий определяет тип собираемых данных, не все столбцы данных применимы ко всем классам событий. Because the event class determines the type of data that can be collected, not all data columns are applicable to all event classes. Например, при трассировке, захватывающей класс событий Lock:Acquired , столбец данных BinaryData содержит значение идентификатора блокированной страницы или строки, а столбец данных Integer Data не содержит никаких значений, поскольку он неприменим к захватываемому классу событий. For example, in a trace that captures the Lock:Acquired event class, the BinaryData data column contains the value of the locked page ID or row, but the Integer Data data column does not contain any value because it is not applicable to the event class being captured.

Шаблон Template
Шаблон определяет конфигурацию трассировки по умолчанию. A template defines the default configuration for a trace. А именно, он включает классы событий, которые нужно контролировать в Приложение SQL Server Profiler SQL Server Profiler . Specifically, it includes the event >Приложение SQL Server Profiler SQL Server Profiler . Например, можно создать шаблон, указывающий используемые события, столбцы данных и фильтры. For example, you can create a template that specifies the events, data columns, and filters to use. Шаблоны не выполняются, а сохраняются в файлах с расширением TDF. A template is not executed, but rather is saved as a file with a .tdf extension. После сохранения шаблон управляет захватом данных, если запускается трассировка, основанная на этом шаблоне. Once saved, the template controls the trace data that is captured when a trace based on the template is launched.

Trace Trace
Трассировка захватывает данные на основании выбранных классов событий, столбцов данных и фильтров. A trace captures data based on selected event classes, data columns, and filters. Например, можно создать трассировку для контроля ошибок исключений. For example, you can create a trace to monitor exception errors. Для этого выберите класс событий Exception и столбцы данных Error, Stateи Severity . To do this, you select the Exception event class and the Error, State, and Severity data columns. Необходимо собирать данные этих трех столбцов, чтобы результаты трассировки содержали значимые данные. Data from these three columns needs to be collected in order for the trace results to provide meaningful data. Теперь можно запустить трассировку, настроенную таким образом, и собирать данные обо всех событиях класса Exception на данном сервере. You can then run a trace, configured in such a manner, and collect data on any Exception events that occur in the server. Данные трассировки можно сохранить или немедленно проанализировать. Trace data can be saved, or used immediately for analysis. Трассировки можно воспроизводить впоследствии, хотя некоторые события, например класса Исключение , воспроизвести нельзя. Traces can be replayed at a later date, although certain events, such as Exception events, are never replayed. Можно также сохранить трассировку как шаблон для построения аналогичных трассировок в будущем. You can also save the trace as a template to build similar traces in the future.

В SQL Server SQL Server предусмотрено два способа трассировки экземпляра SQL Server SQL Server : с помощью Приложение SQL Server Profiler SQL Server Profiler или системных хранимых процедур. SQL Server SQL Server prov >SQL Server SQL Server : you can trace with Приложение SQL Server Profiler SQL Server Profiler , or you can trace using system stored procedures.

Filter Filter
При создании трассировки или шаблона можно определить критерии для фильтрации данных, собираемых событием. When you create a trace or template, you can define criteria to filter the data collected by the event. Чтобы трассировки не становились слишком большими, можно устанавливать фильтры, чтобы собирать только подмножества данных о событиях. To keep traces from becoming too large, you can filter them so that only a subset of the event data is collected. Например, в трассировке можно указать определенные имена пользователей Microsoft Windows, тем самым уменьшив объем выходных данных. For example, you can limit the Microsoft Windows user names in the trace to specific users, thereby reducing the output data.

Если фильтр не установлен, то на выход трассировки возвращаются все события выбранных классов событий. If a filter is not set, all events of the selected event classes are returned in the trace output.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.