Просмотр и анализ трассировок с помощью приложения SQL Server Profiler
Применимо к: SQL Server Управляемый экземпляр SQL Azure
Просмотр данных событий, перехваченных при трассировке с помощью программы Приложение SQL Server Profiler . Приложение SQL Server Profiler отображает данные с учетом определенных свойств трассировки. Одним способом анализа данных сервера SQL Server является их копирование в другую программу, например в сервер SQL Server или в помощник по настройке ядра СУБД Компонент Database Engine . Компонент Database Engine Если столбец данных Текст включен в трассировку, помощник по настройке может использовать файл трассировки, который содержит пакет инструкций SQL и события удаленного вызова процедуры (RPC). Для обеспечения того, чтобы при использовании помощника по настройке Компонент Database Engine Д были захвачены правильные события и столбцы, используйте стандартный шаблон настройки, который поставляется с приложением Приложение SQL Server Profiler.
При открытии трассировки с помощью приложения Приложение SQL Server Profiler трассировка не должна иметь обязательно расширение файла TRC, если файл был создан либо с помощью приложения Приложение SQL Server Profiler , либо системными хранимыми процедурами средства трассировки SQL.
Примечание
Приложение SQL Server Profiler также может считывать LOG-файл средства трассировки SQL и общие файлы сценариев SQL. При открытии LOG-файла средства трассировки SQL, который имеет расширение, отличное от LOG, например trace.txt, укажите значение SQLTrace_Log в качестве формата файла.
Можно настроить формат отображения даты и времени в приложении Приложение SQL Server Profiler , чтобы облегчить анализ трассировки.
Данные диагностики
Используя приложение Приложение SQL Server Profiler, можно проводить диагностику данных, группируя трассировки или файлы трассировок по столбцам данных Duration, CPU, Readsи Writes . Примерами данных, которые можно использовать при диагностике, являются запросы, которые завершаются неудачно или которые имеют исключительно высокое число логических операций чтения.
Дополнительные сведения можно получить, сохранив трассировки в таблицы и применив инструкции 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 . Группировать следует в таком порядке, так как идентификаторы объектов и индексов не являются уникальными для нескольких серверов и баз данных (и для объектов, соответствующих идентификаторам индексов).
Поиск конкретных событий в трассировке
Для нахождения и группировки событий в трассировке выполните следующие шаги.
Создайте трассировку.
При определении трассировки укажите столбцы данных Event Class, ClientProcessIDи Start Time в дополнение к любым другим столбцам данных, которые необходимо захватывать. Дополнительные сведения см. в статье Создание трассировки (SQL Server Profiler).
Сгруппируйте захваченные данные по столбцу данных Event Classи захватите трассировку в файл или таблицу. Чтобы сгруппировать захваченные данные, на вкладке Выбор событий диалогового окна "Свойства трассировки" выберите Расположить столбцы . Дополнительные сведения см. в статье Упорядочение столбцов, отображаемых в трассировке (приложение SQL Server Profiler).
Запустите трассировку и остановите ее по истечении определенного времени или после захвата необходимого количества событий.
Поиск необходимых событий.
Откройте файл или таблицу трассировки и раскройте узел желаемого класса событий, например Цепочка взаимоблокировки. Дополнительные сведения см. в статье Открытие файла трассировки (приложение SQL Server Profiler) или Открытие таблицы трассировки (приложение SQL Server Profiler).
Найдите в данных трассировки искомые события (для ускорения поиска значений в трассировке можно воспользоваться командой Поиск в меню Изменить приложения Приложение SQL Server Profiler ). Запомните значения в столбцах данных ClientProcessID и Start Time для искомых событий трассировки.
Отображение событий в контексте.
Откройте свойства трассировки и сгруппируйте их по столбцу данных ClientProcessID, а не по столбцу Event Class .
Раскройте узлы для каждого идентификатора клиентского процесса, который необходимо просмотреть. Вручную или с помощью команды поиска найдите в трассировке отмеченные ранее значения Start Timeнужных событий. События отображаются в хронологическом порядке вместе с другими событиями, которые принадлежат к каждому выбранному идентификатору клиентского процесса. Например, события Deadlock и Deadlock Chain, записанные в трассировке, отображаются сразу после событий SQL:BatchStartingв пределах раскрытого идентификатора клиентского процесса.
Такой же метод может быть применен для поиска сгруппированных событий. Как только будут найдены искомые события, сгруппируйте их по ClientProcessID, имя_приложенияили другому классу событий для просмотра соответствующей деятельности в хронологическом порядке.
См. также:
- просмотреть сохраненную трассировку (Transact-SQL)
- sys.fn_trace_getinfo (Transact-SQL)
- просмотреть сведения о фильтре (приложение SQL Server Profiler)
- просмотреть сведения фильтров (Transact-SQL)
- открыть файл трассировки (приложение SQL Server Profiler)
- открыть таблицу трассировки (приложение SQL Server Profiler)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по