Поделиться через


Просмотр и анализ трассировок с помощью приложения SQL Server Profiler

Область применения: SQL Server Управляемый экземпляр SQL Azure

Используйте SQL Server Profiler для просмотра захваченных данных событий в трассировке. SQL Server Profiler отображает данные на основе определенных свойств трассировки. Одним из способов анализа данных SQL Server является копирование данных в другую программу, например SQL Server или помощник по настройке ядра СУБД. помощник по настройке ядра СУБД может использовать файл трассировки, содержащий события пакетного и удаленного вызова процедур SQL ( RPC), если Текстовый столбец данных включается в трассировку. Для обеспечения того, чтобы при использовании помощника по настройке Компонент Database Engine Д были захвачены правильные события и столбцы, используйте стандартный шаблон настройки, который поставляется с приложением Приложение SQL Server Profiler.

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

Примечание.

SQL Server Profiler также может считывать файлы трассировки SQL .log и универсальные файлы скриптов SQL. При открытии LOG-файла средства трассировки SQL, который имеет расширение, отличное от LOG, например trace.txt, укажите значение SQLTrace_Log в качестве формата файла.

Вы можете настроить формат отображения даты и времени sql Server Profiler, чтобы помочь в анализе трассировки.

Данные диагностики

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

Дополнительные сведения можно получить, сохранив трассировки в таблицы и применив инструкции Transact-SQL для запросов по данным о событиях. Например, чтобы определить, какие из событий SQL:BatchCompleted превысили время ожидания, выполните следующее:

SELECT  TextData, Duration, CPU  
FROM    trace_table_name  
WHERE   EventClass = 12 -- SQL:BatchCompleted events  
AND     CPU < (Duration * 1000)  

Примечание.

Сервер сообщает о длительности события в микросекундах (10^-6 с), а о количестве времени, затраченного ЦП на событие, в миллисекундах (10^-3 с). Графический пользовательский интерфейс SQL Server Profiler отображает столбец "Длительность" в миллисекундах по умолчанию, но при сохранении трассировки в файле или таблице базы данных значение столбца "Длительность" записывается в микросекунды. Эти измерения предназначены для запросов Transact-SQL (T-SQL).

Отображение имен объектов при просмотре трассировок

Если необходимо отобразить имя объекта вместо идентификатора объекта (Object ID), нужно захватывать столбцы данных Server Name и Database ID вместе со столбцом данных Object Name .

При выборе группирования по столбцу данных Object ID убедитесь, что группирование выполняется вначале по столбцам данных Server Name и Database ID , а уже потом по столбцу Object ID . Аналогично при группировании по столбцу данных Index ID убедитесь, что группирование выполняется вначале по столбцам данных Server Name, Database IDи Object ID , а потом уже по столбцу Index ID . Группировать следует в таком порядке, так как идентификаторы объектов и индексов не являются уникальными для нескольких серверов и баз данных (и для объектов, соответствующих идентификаторам индексов).

Поиск конкретных событий в трассировке

Для нахождения и группировки событий в трассировке выполните следующие шаги.

  1. Создайте трассировку.

    • При определении трассировки укажите столбцы данных Event Class, ClientProcessIDи Start Time в дополнение к любым другим столбцам данных, которые необходимо захватывать. Дополнительные сведения см. в статье Создание трассировки (SQL Server Profiler).

    • Сгруппируйте захваченные данные по столбцу данных Event Classи захватите трассировку в файл или таблицу. Чтобы сгруппировать захваченные данные, на вкладке Выбор событий диалогового окна "Свойства трассировки" выберите Расположить столбцы . Дополнительные сведения см. в статье Упорядочение столбцов, отображаемых в трассировке (приложение SQL Server Profiler).

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

  2. Поиск необходимых событий.

  3. Отображение событий в контексте.

    • Откройте свойства трассировки и сгруппируйте их по столбцу данных ClientProcessID, а не по столбцу Event Class .

    • Раскройте узлы для каждого идентификатора клиентского процесса, который необходимо просмотреть. Вручную или с помощью команды поиска найдите в трассировке отмеченные ранее значения Start Timeнужных событий. События отображаются в хронологическом порядке вместе с другими событиями, которые принадлежат к каждому выбранному идентификатору клиентского процесса. Например, события Deadlock и Deadlock Chain, записанные в трассировке, отображаются сразу после событий SQL:BatchStartingв пределах раскрытого идентификатора клиентского процесса.

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

См. также