- Принцип работы SQL Server Profiler
- Инструменты анализа баз данных
- Доступные версии программы
- Шаблоны для быстрого доступа
- Выбор событий для отслеживания
- Определение столбцов данных
- Фильтры в сеансе трассировки
- Рекомендации по настройке
- Подключение к серверу и анализ ситуации
- Использование профиля в 1С
- Альтернативные инструменты профилировщика
SQL Profiler - это инструмент, предоставляющий пользовательский интерфейс для утилиты SQL Trace, которая собирает события по мере их возникновения в экземпляре SQL Server. Это дает возможность отслеживать все, что происходит внутри экземпляра. ПО предоставляет простой в использовании интерфейс, который позволяет выбирать события отслеживания и место, где нужно сохранить вывод.
Позитивным является то, что пользователям, работающим с программой, не требуется знание всех системных процессов, являющихся частью SQL Trace. Без этого инструмента им пришлось бы пройти через утомительный процесс ручной настройки каждого этапа и выполнить фильтрацию с отдельными вызовами хранимых процедур.
Принцип работы SQL Server Profiler
Вам будет интересно:Цифровой сертификат: для чего нужен, где и как его получить
Инструмент работает, обеспечивая администраторам БД и разработчикам общее представление о системе. Пользователи создают трассировки для сбора данных и отслеживания ошибок. Затем используют профилировщик для хранения, извлечения и графического просмотра результатов трассировок в целях устранения неполадок и ремонта. Эта функция происходит на стороне клиента, то есть она использует ресурсы на той же машине, за которой наблюдает.
Чтобы запустить ПО, переходят в "Пуск" > "Программы" > Microsoft SQL Server > "Инструменты производительности" > SQL Profiler.
Вам будет интересно:Бесплатная защита компьютера от вирусов для Windows 7: обзор лучших программ
Список преимуществ ПО для разработчиков и администраторов баз данных:
Инструменты анализа баз данных
Администратору баз данных необходимы инструменты, позволяющие анализировать действия в БД SQL Server для устранения возможных проблем приложения, БД или просто для мониторинга общего состояния системы. Доступ к интерфейсу SQL Profiler получают из Server Management Studio.
Вам будет интересно:Переменные окружения Linux: описание, особенности
Он представляет простой в использовании интерфейс, который позволяет пользователю выбирать события и отслеживать, где сохранять вывод, без необходимости знать все системные хранимые процедуры, которые являются частью 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 в меню инструментов.
После запуска приложения открывают диалоговое окно, позволяющее выполнить подключение к серверу, который нужно профилировать. Из раздела «Рекомендации» подключаются к удаленному серверу. После того как заполнены данные подключения, нажимают «Подключиться».
Вам будет интересно:Как проверить версию Windows 10: несколько простейших методов
Теперь, когда пользователь подключен к серверу, он увидит окно «Свойства трассировки», в котором есть две вкладки. Первая - «Общие» - позволяет называть след.
Перед тем как пользоваться SQL Profiler, требуется выбрать шаблон для сбора данных. Шаблоны - это в основном сохраненный набор событий и столбцов данных, которые нужно отследить. Они позволяют быстро запустить трассировку без необходимости вручную выбирать все события и столбцы данных при каждом запуске нового сеанса. Microsoft предоставляет несколько вариантов, по умолчанию выбран «Стандартный».
Далее определяют, где сохранить данные трассировки, если пользователь не хочет просто просматривать их в графическом интерфейсе. Есть возможность сохранить данные в файл и указать параметры ролловера (скрытые в настройках шаблона), либо в таблице с уточнением количества строк в ней. Определяют время остановки для трассировки.
Выбор событий для отслеживания
На второй вкладке в этом окне «Выбор» настраивают, какие события нужно отслеживать и какие столбцы требуется включить по конкретному событию. На вкладке добавляют фильтры и изменяют порядок организации данных в правом нижнем углу интерфейса. Поскольку на предыдущей вкладке выбран шаблон «Стандарт», события и столбцы данных уже заполнены. На этом этапе редактируют или просто нажимают «Выполнить», чтобы запустить трассировку как есть. После в правом нижнем углу появится экран, который отображает события по мере их захвата.
Для того чтобы приостановить или остановить трассировку, можно использовать кнопки на панели инструментов. Все события сохраняются перед перезапуском, иначе они будут утеряны. Если пользователь приостановит трассировку, он не потеряет данные, которые собрал, но пропустит все события, произошедшие во время приостановки.
Событие - это действие, которое происходит в пользовательском экземпляре базы данных SQL Profiler Oracle. В трассировке можно настроить более 150 различных событий.
Чтобы добавить события в сеанс, переходят на вкладку «Выбор событий». В правом нижнем углу экрана есть флажок «Показать все события». Если установить его, он перечислит все события в окне выше. Также отмечают флажок «Показать все столбцы», чтобы при выборе события были выбраны все столбцы данных.
Определение столбцов данных
Столбец данных - это фрагмент данных, который описывает некоторую часть события, произошедшего в БД. Такие вещи, как вход в систему, время начала, успешное или неудачное событие - это разные типы данных, которые можно собирать для настроенного в сеансе трассировки SQL.
Существует более 60 столбцов данных, которые можно добавить к трассировке, но в зависимости от того, какое событие выбрано, данный столбец может быть доступным или нет. Для просмотра описания доступных столбцов необходимо сначала выбрать настраиваемое событие.
Чтобы добавить столбцы в сеанс, открывают вкладку «Выбор». Устанавливают флажок «Показать все». В окне выше будут отображаться флажки для каждого доступного для любых открытых событий. В качестве альтернативы выбирают отдельные столбцы каждого события, и нужно либо выбрать сам столбец, либо выбрать проверяемое событие.
Фильтры в сеансе трассировки
Profiler позволяет пользователю фильтровать данные, захваченные в сеансе SQL. r, чтобы ограничить объем захватываемых. Фильтр применяется к любому столбцу, являющемуся частью выбранного события. Даже если столбец не сохранен как часть сеанса трассировки SQL, все равно применяют фильтры на его основе. Чтобы создать фильтр, выбирают кнопку «Фильтры столбцов» на вкладке «Выбор».
После выбора откроется диалоговое окно «Редактировать фильтр». Далее выбирают столбец данных LoginName, в котором содержатся предложения сравнения текста, и отфильтровывают с помощью LoginName, например, именем «Сервер». При использовании оператора LIKE следует иметь в виду, что если пользователь не включит подстановочный знак «%», он будет рассматриваться как оператор равенства (=). Например, если нужно найти какого-либо оператора, выполненного именем входа, которое начинается с «app», в качестве фильтра будет «app%». В зависимости от выбранного столбца появятся различные операторы сравнения.
Рекомендации по настройке
Profiler - отличный инструмент, который позволяет увидеть, что происходит внутри Server, и поможет пользователям выяснить, какие наихудшие запросы, как часто выполняется запрос.
Для реализации наилучших возможных индексов выполняют 4 шага:
Для отслеживания в конкретной БД используют функцию фильтрации столбцов. Запускают трассировку через шаблон настройки и сохраняют данные трассировки в его файл.
Алгоритм процесса:
Результаты показывают, насколько можно добиться улучшения, если предложения будут реализованы, и что нужно реализовать для повышения скорости работы БД.
Для того чтобы перехватить взаимоблокировки с помощью Profiler, делают следующее:
Подключение к серверу и анализ ситуации
Вам будет интересно:Как перевести аудио в текст быстро и качественно
Перед тем как начать пользоваться SQL Server Profiler, подключаются к серверу, на котором нужно выполнить профилирование. В окне «Свойства трассировки» на вкладке «Общие» выбирают пустой шаблон. На вкладке «Выбор событий» выбирают график «тупик» в разделе «Лист блокировки».
Выполняют следующие запросы:
- выполнить запрос в синем прямоугольнике;
- выполнить запрос в зеленом прямоугольнике;
- выполнить запрос, выделенный серым цветом;
- выполнить запрос, выделенный синим.
Обращают внимание, что идентификаторы процессов отображаются на информационной панели в SQL. "Мертвая блокировка" будет сгенерирована при выполнении 4-го шага: для последующего анализа это можно сохранить в меню "Файл" -> "Экспорт" -> "Извлечь события SQL Server" -> "Извлечь события взаимоблокировки".
Анализ графа тупиковой ситуации:
У пользователя есть журнал транзакций. Если транзакция сделала много обновлений, размер журнала будет больше. Следовательно, для выполнения той, которая выполнила большое количество обновлений, потребуется много затрат.
HoBtID (идентификатор кучи или двоичного дерева), связанный с узлом ресурса, используется для поиска объекта базы данных, участвующего во взаимоблокировке, и представлен с помощью следующего запроса:
- SELECT object_name([object_id]) from sys.partitions;
- WHERE hobt_id = xxxxxx.
Стрелки представляют типы блокировок, которые имеются на каждом узле ресурса. Обозначения X и S на стрелках представляют эксклюзивные и общие блокировки.
Использование профиля в 1С
SQL Server Profiler с графической оболочкой используется в бухгалтерской программе 1С для создания трасс и анализа результирующей трассировки с сохранением событий в трассировочных файлах. На их базе выполняется анализ ситуации образовавшихся проблем.
Для создания треков в Profiler запускают программу, формируют маршрут и настраивают анализ индикаторов. Перед тем как настроить для 1С SQL Profiler, выполняют следующие шаги:
Альтернативные инструменты профилировщика
Несмотря на популярность SQL Profiler, это не единственный способ отслеживать сервер. Следующие альтернативы выполняют аналогичную функцию:
Трассировка на стороне сервера считается лучшей, поскольку на стороне клиента может истощать достаточно локальных ресурсов для искажения результатов. Такой вид трассировки не использует ресурсы на стороне клиента, требует меньших затрат и обеспечивает более точный мониторинг и отчетность.
Таким образом, очевидно, что профилировщик позволяет разработчикам и администраторам баз данных (DBA) создавать и обрабатывать трассировки, а также воспроизводить и анализировать их результаты.