В данной статье будет подробно описан процесс получения и сохранения трассировки в MS SQL Server с помощью приложения SQL Server Profiler. Для чего нужна трассировка и как ее потом использовать можно посмотреть, например, в данном разборе. Ниже только пример сбора трассировки в SQL Server 2012 (в более старых версиях SQL Server процесс получения трассировки аналогичен). Итак, поехали.
Запускаем SQL Server Profiler, сделать это можно, например, из SQL Server Management Studio («Сервис» (Tools) — «SQL Server Приложение Profiler»)
Вводим учетные данные подключения к SQL Server (это нужно будет делать почти на каждом шаге), после чего откроется окно настройки трассировки.
В настройках выбираем события, которые будут анализироваться (список колонки «Events») и измерения в разрезе которых, будет происходить анализ событий (колонки таблицы трассировки).
Для выбора событий нужно установить галочку «Показывать все события» (Show All Events), а для выбора измерений анализа установить галочку «Показать все столбцы» (Show All Columns). Для удобства рекомендую сначала выбрать все интересующие вас события, а потом измерения.
Для примера рассмотрим трассировку для события «RPC Completed» по одной базе «FTO_ZUP_CENTR_TEST». Настройка свойств трассировки выглядит так:
В измерения анализа я обязательно включаю «DatabaseName», чтобы была возможность получить данные трассировки только по интересующей нас базе.
Для добавления фильтра нажимаем кнопку «Фильтры столбцов» (Column Filters)
и настраиваем отбор по базе данных:
Трассировка настроена! Для запуска используем кнопки управления трассировкой:
Запускаем:
Трассировка будет собирать данные о всех настроенных действиях с базой. Для того чтобы исключить лишнее, нужно:
- Остановить трассировку
- Поймать в отладчике интересующее событие
- Снова запустить трассировку
- Выполнить необходимый запрос или код в отладчике
- Опять остановить трассировку
- Отпустить отладку
Рассмотрим на примере.
Итак, трассировка на «паузе», останавливаемся в нужном месте кода.
Запускаем трассировку и делаем «шаг» в отладчике.
Трассировка получена! Приостанавливаем трассировку и отпускаем отладку.
Для сохранения полученной трассировки в таблицу нужно выбрать в меню «Файл» (File) — «Сохранить как» (Save As) — «Таблица трассировки…» (Trace Table).
Откроется окно выбора параметров сохранения:
Здесь указываем имя таблицы и базу, в которую нужно сохранить трассировку.
Нажимаем «ОК», переходим в SQL Server Management Studio , находим нашу базу, разворачиваем группировку таблицы и видим результат наших трудов.
Собственно говоря, все! Теперь можно анализировать и обрабатывать данные как вам угодно.
Рассмотрим несколько примеров:
Пример №1: Выборка всех строк.
Пример №2: Количество строк таблицы.
Пример №3: Выборка строк, в которых значение «Duration» (продолжительность операции) больше 1000 миллисекунд.
Аналогичным образом можно получить любую необходимую вам информацию из полученной трассировки.