Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server Управляемый экземпляр SQL Azure
SQL Server Profiler — это интерфейс для создания трассировок и управления ими, а также для анализа и воспроизведения полученных результатов. События сохраняются в файле трассировки, который можно позже проанализировать или использовать для воспроизведения определенной серии шагов при диагностике проблемы.
При попытке подключиться к База данных SQL Azure из SQL Server Profiler неправильно возникает вводящая в заблуждение сообщение об ошибке следующим образом:
To run a trace against SQL Server, you must be a sysadmin fixed server role member or have the ALTER TRACE permission.
Сообщение должно указать, что база данных SQL Azure не поддерживается SQL Server Profiler.
Уведомление об устаревании
Внимание
SQL Trace и SQL Server Profiler устарели. Вместо этого используйте расширенные события . Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Пространство имен Microsoft.SqlServer.Management.Trace, в котором находятся объекты трассировки и воспроизведения SQL Server, также устарело. Однако поддерживаются рабочие нагрузки служб Analysis Services.
Дополнительные сведения о расширенных событиях см. в следующих статьях:
- Быстрый старт: расширенные события
- Для SQL Server Management Studio используйте XEvent Profiler
- Для расширения MSSQL для Visual Studio Code используйте профилировщик запросов (предварительная версия).
Где профилировщик?
Вы можете запустить профилировщик в run SQL Server Profiler.
Захват и воспроизведение данных трассировки
В следующей таблице показаны функции, которые можно использовать в SQL Server для записи и воспроизведения данных трассировки.
| Функция или целевая рабочая нагрузка | Реляционный механизм | Analysis Services |
|---|---|---|
| Запись трассировки | Обзор расширенных событий в графическом пользовательском интерфейсе SQL Server Management Studio | Профилировщик SQL Server |
| Воспроизведение трассировки | Обзор распределённого воспроизведения SQL Server | Профилировщик SQL Server |
Используйте SQL Server Profiler
Microsoft SQL Server Profiler — это графический пользовательский интерфейс для трассировки SQL, предназначенный для мониторинга экземпляра ядра СУБД или служб Analysis Services. Приложение позволяет собирать и сохранять данные о каждом событии в файле или в таблице для последующего анализа. Например, можно отслеживать рабочую среду, чтобы увидеть, какие хранимые процедуры влияют на производительность, выполняя слишком медленно. Используйте SQL Server Profiler для таких действий, как:
пошаговое выполнение проблемных запросов для поиска источника проблемы;
выявление и диагностика медленно работающих запросов;
перехват серии инструкций Transact-SQL, ведущих к проблеме; После этого сохраненная трассировка может реплицировать проблему на тестовом сервере, где может быть диагностирована проблема.
контроль производительности SQL Server для настройки рабочих нагрузок; Дополнительные сведения о настройке физической структуры базы данных для рабочих нагрузок см. в разделе Database Engine Tuning Advisor.
Анализ счетчиков производительности для диагностики проблем.
SQL Server Profiler также поддерживает аудит действий, выполняемых на экземплярах SQL Server. В ходе аудита ведется запись действий, связанных с безопасностью, для дальнейшего просмотра администратором безопасности.
Основные понятия приложения SQL Server Profiler
Чтобы использовать SQL Server Profiler, необходимо понять термины, описывающие способ работы средства.
Общие сведения о трассировки SQL помогают при работе с SQL Server Profiler. Дополнительные сведения см. в статье SQL Trace.
Мероприятие
Событие — это действие, создаваемое в ядре СУБД SQL Server. Примеры этих событий:
- Подключения при входе, сбои и отключения.
- инструкции Transact-SQL
SELECT,INSERT,UPDATEиDELETE; - состояние пакетов вызова удаленных процедур (RPC);
- запуск или завершение хранимой процедуры;
- инструкции запуска или завершения в хранимых процедурах;
- Начало или конец пакета SQL.
- Ошибка, записанная в журнал ошибок SQL Server.
- получение блокировки или освобождение объекта базы данных;
- открытый курсор.
- проверки разрешений безопасности.
Трассировка отображает все данные, созданные событием в одной строке. Столбцы данных, описывающие событие подробно пересекаются с этой строкой.
EventClass
Класс событий — это тип события, который можно отслеживать. Класс событий содержит все данные, которые может сообщать событие. В следующем списке показаны примеры классов событий:
- SQL:BatchCompleted
- Аудит входа в систему
- Аудит выхода из системы
- Блокировка: получена
- Блокировка: разблокировано
КатегорияСобытия
Категория событий определяет, как sql Server Profiler группирует события. Например, категория событий Locks группирует все классы событий блокировки. Однако категории событий существуют только в SQL Server Profiler. Этот термин не отражает, как группируются события движка.
Столбец данных
Столбец данных — это атрибут классов событий, захваченных при трассировке. Так как класс событий определяет тип данных, которые можно собирать, не все столбцы данных применяются ко всем классам событий. Например, в трассировке, которая фиксирует класс событий Lock: Приобретенный класс событий, столбец данных BinaryData содержит значение заблокированного идентификатора страницы или строки, но столбец данных целочисленных данных не содержит никакого значения, так как он не применяется к захваченным классам событий.
Шаблон
Шаблон определяет конфигурацию трассировки по умолчанию. В частности, он включает классы событий, которые необходимо отслеживать с помощью SQL Server Profiler. Например, можно создать шаблон, указывающий события, столбцы данных и фильтры. Невозможно выполнить шаблон напрямую. Вместо этого вы сохраняете его в виде файла с расширением .tdf . После сохранения шаблон управляет данными трассировки, захваченными при запуске трассировки на основе шаблона.
Трассировка
Трассировка захватывает данные на основании выбранных классов событий, столбцов данных и фильтров. Например, можно создать трассировку для мониторинга ошибок исключений. Для этого выберите класс событий Exception и столбцы данных Error, State и Серьезность. Результаты трассировки предоставляют значимые данные, только если данные собираются из этих трех столбцов. Вы можете запустить трассировку, настроенную таким образом, и собирать данные о любых событиях исключений на сервере. Сохраните данные трассировки или используйте его немедленно для анализа. Вы можете воспроизвести трассировки позже, хотя некоторые события, такие как события исключения , никогда не повторяются. Вы также можете сохранить трассировку в качестве шаблона для создания аналогичных трассировок.
SQL Server предоставляет два способа трассировки экземпляра SQL Server: трассировку с помощью профилировщика SQL Server или трассировку с помощью системных хранимых процедур.
Фильтр
При создании трассировки или шаблона можно определить критерии для фильтрации данных, собираемых событием. Чтобы не допустить чрезмерного увеличения размера трассировок, отфильтруйте их, чтобы собирать только подмножество данных события. Например, ограничение имен пользователей Microsoft Windows в процессе трассировки до конкретных пользователей сокращает объем выходных данных.
Если фильтр не задан, выходные данные трассировки возвращают все события выбранных классов событий.
Задачи приложения SQL Server Profiler
| Описание задания | Статья |
|---|---|
| Перечисляет предопределенные шаблоны, предоставляемые SQL Server для мониторинга определенных событий, и разрешения, которые необходимы для использования трассировок воспроизведения. | Шаблоны и разрешения профилировщика SQL Server |
| Содержит описание процесса запуска приложения SQL Server Profiler. | Разрешения, необходимые для запуска SQL Server Profiler |
| Содержит описание процесса создания трассировки. | Создание трассировки (SQL Server Profiler) |
| Определяет спецификацию событий и столбцов данных для файла трассировки. | Указание событий и столбцов данных для файла трассировки (SQL Server Profiler) |
| Содержит описание процесса сохранения результатов трассировки в файл. | Сохранение результатов трассировки в файл (SQL Server Profiler) |
| Содержит описание процесса сохранения результатов трассировки в таблице. | Сохранение результатов трассировки в таблице (SQL Server Profiler) |
| Содержит описание процесса фильтрации событий в трассировке. | Фильтрация событий в трассировке (SQL Server Profiler) |
| Содержит описание процесса просмотра сведений о фильтре. | Просмотр сведений о фильтре (SQL Server Profiler) |
| Описывает изменение фильтра. | Изменение фильтра (SQL Server Profiler) |
| Описывает, как задать максимальный размер файла трассировки (SQL Server Profiler). | Задайте максимальный размер файла трассировки (SQL Server Profiler). |
| Описывает, как задать максимальный размер таблицы трассировки. | Задайте максимальный размер таблицы трассировки (SQL Server Profiler) |
| Содержит описание процесса запуска трассировки. | Запуск трассировки (SQL Server Profiler) |
| Содержит описание автоматического процесса запуска трассировки после соединения с сервером. | Автоматическое запуск трассировки после подключения к серверу (SQL Server Profiler) |
| Содержит описание процесса фильтрации событий по времени начала события. | Фильтрация событий на основе времени начала события (SQL Server Profiler) |
| Содержит описание процесса фильтрации событий по времени окончания события. | Фильтрация событий на основе времени окончания события (SQL Server Profiler) |
| Описывает фильтрацию идентификаторов сеансов в трассировке. | Фильтрация идентификаторов сеансов в трассировке (SQL Server Profiler) |
| Содержит описание процесса приостановки трассировки. | Приостановить трассировку (SQL Server Profiler) |
| Содержит описание процесса прекращения трассировки. | Остановка трассировки (SQL Server Profiler) |
| Содержит описание процесса запуска трассировки после ее приостановки или прекращения. | Выполните отслеживание после остановки или приостановки (SQL Server Profiler) |
| Содержит описание процесса очистки окна трассировки. | Очистка окна трассировки (SQL Server Profiler) |
| Описывает, как закрыть окно трассировки. | Закройте окно трассировки (SQL Server Profiler) |
| Описывает, как настроить параметры определения трассировки по умолчанию. | Установка определений трассировки по умолчанию (SQL Server Profiler) |
| Содержит описание процесса настройки отображения трассировки по умолчанию. | Установить значения по умолчанию для отображения трассировки (SQL Server Profiler) |
| Содержит описание процесса открытия файла трассировки. | Открытие файла трассировки (SQL Server Profiler) |
| Содержит описание процесса открытия таблицы трассировки. | Открытие таблицы трассировки (SQL Server Profiler) |
| Содержит описание процесса воспроизведения таблицы трассировки. | Воспроизведение таблицы трассировки (SQL Server Profiler) |
| Содержит описание процесса воспроизведения файла трассировки. | Воспроизведение файла трассировки (SQL Server Profiler) |
| Содержит описание процесса воспроизведения одиночного события за раз. | Воспроизведение одного события за раз (SQL Server Profiler) |
| Содержит описание процесса воспроизведения до точки останова. | Воспроизведение до точки останова (SQL Server Profiler) |
| Содержит описание процесса воспроизведения до курсора. | Воспроизведение курсора (SQL Server Profiler) |
| Содержит описание процесса воспроизведения скрипта Transact-SQL. | Воспроизведение скрипта Transact-SQL (SQL Server Profiler) |
| Содержит описание процесса создания шаблона трассировки. | Создание шаблона трассировки (SQL Server Profiler) |
| Содержит описание процесса изменения шаблона трассировки. | Изменение шаблонов трассировки |
| Содержит описание процесса настройки глобальных параметров трассировки. | Настройка глобальных параметров трассировки (SQL Server Profiler) |
| Содержит описание процесса поиска значения или столбца данных во время трассировки. | Поиск значения или столбца данных во время трассировки (SQL Server Profiler) |
| Содержит описание процесса создания шаблона на основе выполняемой трассировки. | Создание шаблона из запущенной трассировки (SQL Server Profiler) |
| Описывает, как получить шаблон из файла трассировки или таблицы трассировки. | Создание шаблона на основе файла трассировки или таблицы трассировки (SQL Server Profiler) |
| Описывает создание скрипта Transact-SQL для выполнения трассировки. | Создание скрипта Transact-SQL для выполнения трассировки (SQL Server Profiler) |
| Содержит описание процесса экспорта шаблона трассировки. | Экспорт шаблона трассировки (SQL Server Profiler) |
| Содержит описание процесса импорта шаблона трассировки. | Импорт шаблона трассировки (SQL Server Profiler) |
| Описывает, как извлечь скрипт из трассировки. | Извлечение скрипта из трассировки (SQL Server Profiler) |
| Содержит описание процесса согласования трассировки с данными журнала производительности Windows. | Сопоставление трассировки с данными журнала производительности Windows |
| Содержит описание процесса упорядочения столбцов, отображаемых в трассировке. | Упорядочение столбцов, отображаемых в трассировке (SQL Server Profiler) |
| Содержит описание процесса запуска приложения SQL Server Profiler. | Запуск SQL Server Profiler |
| Содержит описание процесса сохранения трассировок и шаблонов трассировок. | Сохранение трассировок и шаблонов трассировки |
| Содержит описание процесса изменения шаблонов трассировок. | Изменение шаблонов трассировки |
| Содержит описание процесса согласования трассировки с данными журнала производительности Windows. | Сопоставление трассировки с данными журнала производительности Windows |
| Содержит описание процесса просмотра и анализа трассировок с помощью приложения SQL Server Profiler. | Просмотр и анализ трассировок с помощью SQL Server Profiler |
| Содержит описание процесса анализа взаимоблокировок с помощью приложения SQL Server Profiler. | Анализ взаимоблокировок в приложении SQL Server Profiler |
| Содержит описание процесса анализа запросов с помощью результатов инструкции SHOWPLAN в приложении SQL Server Profiler. | Анализ запросов с помощью SHOWPLAN приводит к профилировщику SQL Server |
| Содержит описание процесса фильтрации трассировок с помощью приложения SQL Server Profiler. | Фильтрация трассировок с помощью SQL Server Profiler |
| Содержит описание процесса использования возможностей воспроизведения приложения SQL Server Profiler. | Воспроизведение трассировок |
| Перечисляет статьи справки с учетом контекста для SQL Server Profiler. | Справка F1 приложения SQL Server Profiler |
| Перечисляет системные хранимые процедуры, используемые SQL Server Profiler для мониторинга производительности и активности. | Хранимые процедуры SQL Server Profiler |
Расширенные события vs. SQL профилировщик сервера
Общие сведения о расширенных событиях и SQL Server Profiler — это средства для мониторинга и устранения неполадок производительности SQL Server. SQL Server Profiler устарел и должен использоваться только с службами Analysis Services. Расширенные события — это замена SQL Server Profiler и предоставляет расширенные возможности устранения неполадок, недоступные в другом месте. Основные различия описаны здесь, чтобы помочь в миграции с SQL Server Profiler на расширенные события.
Инструмент расширенных событий
Обзор расширенных событий — это упрощенная, высокомасштабируемая и гибкая система обработки событий, встроенная в SQL Server.
Сеансы расширенных событий обычно используют меньше ресурсов, чем трассировка SQL и профилировщик SQL Server, что делает их более подходящими для рабочих сред. Расширенные события поддерживают запись событий, доступных в современных версиях SQL.
В отличие от этого, события, доступные в sql Trace/SQL Server Profiler, ограничены функциями, доступными в SQL Server 2008R2 и более ранних версиях. Расширенные события предоставляют усовершенствованные возможности фильтрации, меньшую нагрузку по умолчанию и функции, которые отсутствуют в Profiler, такие как цели с поддержкой в памяти, агрегатные цели и поддержка нескольких целей.
Дополнительные сведения о расширенных событиях см. в обзоре расширенных событий.
Инструмент SQL Server Profiler
SQL Server Profiler — это графический пользовательский интерфейс, использующий трассировку SQL для отслеживания действий для экземпляра SQL Server или служб Analysis Services.
Sql Server Profiler может быть ресурсоемким, если неправильно настроен, влияя на производительность сервера, особенно при использовании на рабочих серверах. Он имеет встроенные шаблоны для поддержки быстрой трассировки.
В целом, хотя SQL Server Profiler является более старым инструментом, который может быть знаком многим пользователям, расширенные события — это современная альтернатива, которая обеспечивает более высокую производительность, более подробную информацию о событиях и возможности для устранения неполадок и мониторинга экземпляров SQL Server, недоступных в другом месте. Из-за своих преимуществ по сравнению с Профилировщиком, Расширенные События рекомендуется использовать для новых задач по трассировке и мониторингу.