Сценарии для работы с приложением SQL Server Profiler

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

Типичные сценарии для использования приложения Приложение SQL Server Profiler:

  • Поиск запросов с наихудшей производительностью.

    Например, можно создать трассировку, фиксирующую события, которые связаны с классами событий TSQL и Stored Procedure (RPC:Completed и SQL:BatchCompleted). Включите все столбцы данных в трассировку, сгруппируйте их по столбцу Продолжительность и укажите критерий события. Например, если указать, что значение столбца Продолжительность для события должно быть не менее 10 000 микросекунд, события меньшей продолжительности исключаются из трассировки. Минимальное значение столбца Продолжительность при необходимости можно увеличивать. При необходимости контроля только за одной базой данных следует указать значение для критерия события DatabaseID.

  • Поиск причины взаимоблокировки.

    Например, можно создать трассировку, фиксирующую события, связанные с классами событий TSQL и Stored Procedure (RPC:Starting и SQL:BatchStarting), а также с классами событий Locks (Deadlock graph, Lock:Deadlock или Lock:DeadlockChain). Включите все столбцы данных в трассировку и сгруппируйте их по классусобытия. При необходимости контроля только за одной базой данных следует указать значение для критерия события DatabaseID. Если задан класс событий Deadlock graph, приложение Приложение SQL Server Profiler формирует графическое представление взаимоблокировки. Дополнительные сведения см. в разделе Анализ взаимоблокировок в приложении SQL Server Profiler.

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

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

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

  • Отслеживание производительности хранимых процедур.

    Например, можно создать трассировку, которая фиксирует события, связанные с классами событий Stored Procedure (SP:Completed, SP:Starting, SP:StmtCompleted т SP:StmtStarting) иTSQL (SQL:BatchStarting и SQL:BatchCompleted). Включите все требуемые столбцы данных в трассировку и сгруппируйте их по столбцу ClientProcessID. При необходимости контроля только за одной базой данных следует использовать фильтр идентификатора базы данных для задания значения критерия события DatabaseID. Аналогично, при необходимости контроля только за одной хранимой процедурой следует использовать фильтр идентификатора объекта для задания значения критерия события Object ID.

  • Аудит активности SQL Server.

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

    Создайте трассировку, задав событие Audit Login. Чтобы получать требуемые сведения, укажите следующие столбцы данных: EventClass (выбирается по умолчанию), EventSubClass, LoginSID, LoginName.

  • Мониторинг Transact-SQL активности по пользователям.

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

  • Получение репрезентативной выборки событий для нагрузочного тестирования.

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

  • Получение выборки событий для настройки физической структуры базы данных с помощью помощника по настройке ядра СУБД компонента Database Engine.

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