Что такое sql server profiler
Мониторинг Analysis Services при помощи SQL Server Profiler
Область применения: SQL Server Analysis Services
Azure Analysis Services
Power BI Premium
SQL Server Profiler, установленные с SQL Server Management Studio (SSMS), отслеживает события процесса ядра, такие как запуск пакета или транзакции. Он фиксирует данные об этих событиях, позволяя отслеживать активность сервера и базы данных (например, запросы пользователей или действия входа). данные профилировщика можно записать в SQLную таблицу или файл для последующего анализа. кроме того, можно воспроизвести события, записанные на том же или другом экземпляре Analysis Services, чтобы увидеть, что произошло. Можно воспроизводить события в режиме реального времени или в пошаговом режиме. Также полезно запускать события трассировки вместе со счетчиками производительности на одном и том же экземпляре. Приложение SQL Profiler может определять корреляцию между ними на основе времени и отображать их совместно на одной временной шкале. События трассировки предоставят подробные сведения, в то время как счетчики приложения «Производительность» дадут общее представление. Дополнительные сведения о создании и запуске трассировок см. в статье Создание трассировок профилировщика для воспроизведения (Analysis Services).
используйте SQL Server Profiler, чтобы:
Наблюдение за производительностью экземпляра компонента Analysis Services.
Отладка инструкций запроса.
Выявление запросов, которые выполняются медленно.
Тестовые инструкции запроса на этапе разработки проекта путем пошагового выполнения инструкций для подтверждения того, что код работает должным образом.
Устранение неполадок путем захвата событий в рабочей системе и воспроизведения их в тестовой системе. Этот подход полезно использовать при тестировании или отладке. Он позволяет пользователям использовать рабочую систему без помех.
Аудит и проверка действий, произошедших в экземпляре служб. Администратор по безопасности может просмотреть любое из событий аудита. Это включает успешную или неуспешную попытку входа, разрешения на доступ к инструкциям и объектам.
отображение данных о захваченных событиях на экране или сбор и сохранение данных о каждом событии в файле или SQL таблице для будущего анализа или воспроизведения. При воспроизведении данных можно повторно запустить сохраненные события в порядке их возникновения в реальном времени или пошаговом режиме.
Разрешения
для Azure Analysis Services и SQL Server Analysis Services члены роли администратора сервера Analysis Services могут просматривать все трассировки сервера и базы данных. Пользователи, не входящие в роль администратора сервера, могут просматривать трассировки только для баз данных, в которых они являются членами роли администратора базы данных.
для Power BI Premium пользователи могут просматривать трассировки только для тех баз данных, в которых они являются членами роли администратора базы данных. Доступны только те события, для которых требуются разрешения администратора базы данных. события трассировки, для которых требуются разрешения администратора сервера, недоступны для рабочей области Power BI Premium.
Использование приложения SQL Server Profiler
при использовании SQL Server Profiler учитывайте следующее.
для Power BI Premium рабочей области доступны только события базы данных. События сервера недоступны.
Определения трассировки хранятся в базе данных Analysis Services с помощью инструкции CREATE.
Несколько трассировок можно запустить одновременно.
Несколько соединений могут получать события из одной трассировки.
Трассировка может продолжаться, когда Analysis Services останавливается и перезапускается.
Пароли не выводятся в событиях трассировки, но заменяются * * * * * * в событии.
для оптимальной производительности используйте SQL Server Profiler, чтобы отслеживать только те события, которые наиболее интересны. Мониторинг слишком многих событий приводит к перегрузке и может привести к избыточному увеличению размера файла или таблицы трассировки, особенно при длительном мониторинге. Кроме того, для ограничения количества собираемых данных и предотвращения увеличения трассировок используйте фильтры.
SQL Server Profiler
SQL Server Profiler is an interface to create and manage traces and analyze and replay trace results. Events are saved in a trace file that can later be analyzed or used to replay a specific series of steps when diagnosing a problem.
SQL Trace and SQL Server Profiler are deprecated. The Microsoft.SqlServer.Management.Trace namespace that contains the Microsoft SQL Server Trace and Replay objects are also deprecated.
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.
SQL Server Profiler for Analysis Services workloads are supported.
When you try to connect to a Azure SQL Database from SQL server profiler, it incorrectly throws a misleading error message as follows:
The message should have explained that Azure SQL Database is not supported by SQL Server profiler.
Where is the Profiler?
Capture and replay trace data
The following table shows the features we recommend using in SQL Server to capture and replay your trace data.
Feature\Target Workload | Relational Engine | Analysis Services |
---|---|---|
Trace Capture | Extended Events graphical user interface in SQL Server Management Studio | SQL Server Profiler |
Trace Replay | Distributed Replay | SQL Server Profiler |
Use SQL Server Profiler
Microsoft SQL Server Profiler is a graphical user interface to SQL Trace for monitoring an instance of the Database Engine or Analysis Services. You can capture and save data about each event to a file or table to analyze later. For example, you can monitor a production environment to see which stored procedures are affecting performance by executing too slowly. SQL Server Profiler is used for activities such as:
Stepping through problem queries to find the cause of the problem.
Finding and diagnosing slow-running queries.
Capturing the series of Transact-SQL statements that lead to a problem. The saved trace can then be used to replicate the problem on a test server where the problem can be diagnosed.
Monitoring the performance of SQL Server to tune workloads. For information about tuning the physical database design for database workloads, see Database Engine Tuning Advisor.
Correlating performance counters to diagnose problems.
SQL Server Profiler also supports auditing the actions performed on instances of SQL Server. Audits record security-related actions for later review by a security administrator.
SQL Server Profiler concepts
To use SQL Server Profiler, you need to understand the terms that describe the way the tool functions.
Understanding SQL Trace really helps when working with SQL Server Profiler. For more information, see SQL Trace.
Event
An event is an action generated within an instance of SQL Server Database Engine. Examples of these are:
All of the data generated by an event is displayed in the trace in a single row. This row is intersected by data columns that describe the event in detail.
EventClass
An event class is a type of event that can be traced. The event class contains all of the data that can be reported by an event. The following are examples of event classes:
EventCategory
An event category defines the way events are grouped within SQL Server Profiler. For example, all lock events classes are grouped within the Locks event category. However, event categories only exist within SQL Server Profiler. This term doesn’t reflect the way Engine events are grouped.
DataColumn
A data column is an attribute of an event class captured in the trace. Because the event class determines the type of data that can be collected, not all data columns are applicable to all event classes. For example, in a trace that captures the Lock: Acquired event class, the BinaryData data column contains the value of the locked page ID or row, but the Integer Data data column doesn’t contain any value because it isn’t applicable to the event class being captured.
Template
Trace
A trace captures data based on selected event classes, data columns, and filters. For example, you can create a trace to monitor exception errors. To do this, you select the Exception event class and the Error, State, and Severity data columns. Data from these three columns needs to be collected in order for the trace results to provide meaningful data. You can then run a trace, configured in such a manner, and collect data on any Exception events that occur in the server. Trace data can be saved, or used immediately for analysis. Traces can be replayed at a later date, although certain events, such as Exception events, are never replayed. You can also save the trace as a template to build similar traces in the future.
SQL Server provides two ways to trace an instance of SQL Server: you can trace with SQL Server Profiler, or you can trace using system stored procedures.
Filter
When you create a trace or template, you can define criteria to filter the data collected by the event. To keep traces from becoming too large, you can filter them so that only a subset of the event data is collected. For example, you can limit the Microsoft Windows user names in the trace to specific users, thereby reducing the output data.
If a filter isn’t set, all events of the selected event classes are returned in the trace output.
SQL Profiler: примеры настройки, как пользоваться
Позитивным является то, что пользователям, работающим с программой, не требуется знание всех системных процессов, являющихся частью SQL Trace. Без этого инструмента им пришлось бы пройти через утомительный процесс ручной настройки каждого этапа и выполнить фильтрацию с отдельными вызовами хранимых процедур.
Принцип работы SQL Server Profiler
Вам будет интересно: Чем открыть FRW-файлы? Программы
Инструмент работает, обеспечивая администраторам БД и разработчикам общее представление о системе. Пользователи создают трассировки для сбора данных и отслеживания ошибок. Затем используют профилировщик для хранения, извлечения и графического просмотра результатов трассировок в целях устранения неполадок и ремонта. Эта функция происходит на стороне клиента, то есть она использует ресурсы на той же машине, за которой наблюдает.
Чтобы запустить ПО, переходят в «Пуск» > «Программы» > Microsoft SQL Server > «Инструменты производительности» > SQL Profiler.
Вам будет интересно: Как установить и настроить Tor?
Список преимуществ ПО для разработчиков и администраторов баз данных:
Инструменты анализа баз данных
Администратору баз данных необходимы инструменты, позволяющие анализировать действия в БД SQL Server для устранения возможных проблем приложения, БД или просто для мониторинга общего состояния системы. Доступ к интерфейсу SQL Profiler получают из Server Management Studio.
Он представляет простой в использовании интерфейс, который позволяет пользователю выбирать события и отслеживать, где сохранять вывод, без необходимости знать все системные хранимые процедуры, которые являются частью SQL Trace. Без этого инструмента пришлось бы пройти через утомительный процесс ручной настройки каждого этапа и выполнить фильтрацию с отдельными вызовами хранимых процедур для каждого события, которое требуется настроить в своей трассировке.
Вам будет интересно: Как перевести аудио в текст быстро и качественно
Наконец, MS SQL Profiler используется для выполнения аудита. У пользователя есть возможность определять данные входа и выхода из системы, чтобы видеть, кто обращается к экземпляру и из каких систем они получают к нему доступ. Можно записывать все события DDL, которые будут содержать журнал всех изменений, внесенных в среду.
Доступные версии программы
MS SQL Profiler доступен только в выпусках SQL Server Enterprise, Business Intelligence и Standard, однако если в среде установлен выпуск Enterprise или Standard, его можно использовать для профилирования любых других выпусков, например, Express SQL Profiler или Web. Расширенные события были выпущены в Server 2008, который считается заменой Profiler или Trace, по-прежнему широко используется и продолжает представлять ценность для удовлетворения многочисленных потребностей администраторов баз данных.
Как при установке MS SQL server Profiler, так и при создании схемы БД существуют рекомендации, которые следует соблюдать. Есть также некоторые советы, которые следует учитывать при настройке трассировки с использованием Profiler. Эти рекомендации помогут пользователю контролировать экземпляр Server, не вызывая чрезмерных расходов и не увеличивая влияние на проблему производительности.
Шаблоны для быстрого доступа
Есть несколько вариантов запуска Profiler. В разных версиях Windows открывают его через «Пуск» или из Metro Interface в более поздних выпусках. Более продвинутые пользователи предпочитают просто запустить его из SSMS, который всегда открыт. Юзер может найти SQL в меню инструментов.
После запуска приложения открывают диалоговое окно, позволяющее выполнить подключение к серверу, который нужно профилировать. Из раздела «Рекомендации» подключаются к удаленному серверу. После того как заполнены данные подключения, нажимают «Подключиться».
Вам будет интересно: Переменные окружения Linux: описание, особенности
Далее определяют, где сохранить данные трассировки, если пользователь не хочет просто просматривать их в графическом интерфейсе. Есть возможность сохранить данные в файл и указать параметры ролловера (скрытые в настройках шаблона), либо в таблице с уточнением количества строк в ней. Определяют время остановки для трассировки.
Выбор событий для отслеживания
На второй вкладке в этом окне «Выбор» настраивают, какие события нужно отслеживать и какие столбцы требуется включить по конкретному событию. На вкладке добавляют фильтры и изменяют порядок организации данных в правом нижнем углу интерфейса. Поскольку на предыдущей вкладке выбран шаблон «Стандарт», события и столбцы данных уже заполнены. На этом этапе редактируют или просто нажимают «Выполнить», чтобы запустить трассировку как есть. После в правом нижнем углу появится экран, который отображает события по мере их захвата.
Для того чтобы приостановить или остановить трассировку, можно использовать кнопки на панели инструментов. Все события сохраняются перед перезапуском, иначе они будут утеряны. Если пользователь приостановит трассировку, он не потеряет данные, которые собрал, но пропустит все события, произошедшие во время приостановки.
Чтобы добавить события в сеанс, переходят на вкладку «Выбор событий». В правом нижнем углу экрана есть флажок «Показать все события». Если установить его, он перечислит все события в окне выше. Также отмечают флажок «Показать все столбцы», чтобы при выборе события были выбраны все столбцы данных.
Определение столбцов данных
Существует более 60 столбцов данных, которые можно добавить к трассировке, но в зависимости от того, какое событие выбрано, данный столбец может быть доступным или нет. Для просмотра описания доступных столбцов необходимо сначала выбрать настраиваемое событие.
Чтобы добавить столбцы в сеанс, открывают вкладку «Выбор». Устанавливают флажок «Показать все». В окне выше будут отображаться флажки для каждого доступного для любых открытых событий. В качестве альтернативы выбирают отдельные столбцы каждого события, и нужно либо выбрать сам столбец, либо выбрать проверяемое событие.
Фильтры в сеансе трассировки
Profiler позволяет пользователю фильтровать данные, захваченные в сеансе SQL. r, чтобы ограничить объем захватываемых. Фильтр применяется к любому столбцу, являющемуся частью выбранного события. Даже если столбец не сохранен как часть сеанса трассировки SQL, все равно применяют фильтры на его основе. Чтобы создать фильтр, выбирают кнопку «Фильтры столбцов» на вкладке «Выбор».
После выбора откроется диалоговое окно «Редактировать фильтр». Далее выбирают столбец данных LoginName, в котором содержатся предложения сравнения текста, и отфильтровывают с помощью LoginName, например, именем «Сервер». При использовании оператора LIKE следует иметь в виду, что если пользователь не включит подстановочный знак «%», он будет рассматриваться как оператор равенства (=). Например, если нужно найти какого-либо оператора, выполненного именем входа, которое начинается с «app», в качестве фильтра будет «app%». В зависимости от выбранного столбца появятся различные операторы сравнения.
Рекомендации по настройке
Для реализации наилучших возможных индексов выполняют 4 шага:
Для отслеживания в конкретной БД используют функцию фильтрации столбцов. Запускают трассировку через шаблон настройки и сохраняют данные трассировки в его файл.
Результаты показывают, насколько можно добиться улучшения, если предложения будут реализованы, и что нужно реализовать для повышения скорости работы БД.
Для того чтобы перехватить взаимоблокировки с помощью Profiler, делают следующее:
Подключение к серверу и анализ ситуации
Перед тем как начать пользоваться SQL Server Profiler, подключаются к серверу, на котором нужно выполнить профилирование. В окне «Свойства трассировки» на вкладке «Общие» выбирают пустой шаблон. На вкладке «Выбор событий» выбирают график «тупик» в разделе «Лист блокировки».
Выполняют следующие запросы:
Анализ графа тупиковой ситуации:
У пользователя есть журнал транзакций. Если транзакция сделала много обновлений, размер журнала будет больше. Следовательно, для выполнения той, которая выполнила большое количество обновлений, потребуется много затрат.
HoBtID (идентификатор кучи или двоичного дерева), связанный с узлом ресурса, используется для поиска объекта базы данных, участвующего во взаимоблокировке, и представлен с помощью следующего запроса:
Стрелки представляют типы блокировок, которые имеются на каждом узле ресурса. Обозначения X и S на стрелках представляют эксклюзивные и общие блокировки.
Использование профиля в 1С
SQL Server Profiler с графической оболочкой используется в бухгалтерской программе 1С для создания трасс и анализа результирующей трассировки с сохранением событий в трассировочных файлах. На их базе выполняется анализ ситуации образовавшихся проблем.
Для создания треков в Profiler запускают программу, формируют маршрут и настраивают анализ индикаторов. Перед тем как настроить для 1С SQL Profiler, выполняют следующие шаги:
Альтернативные инструменты профилировщика
Несмотря на популярность SQL Profiler, это не единственный способ отслеживать сервер. Следующие альтернативы выполняют аналогичную функцию:
Трассировка на стороне сервера считается лучшей, поскольку на стороне клиента может истощать достаточно локальных ресурсов для искажения результатов. Такой вид трассировки не использует ресурсы на стороне клиента, требует меньших затрат и обеспечивает более точный мониторинг и отчетность.
Таким образом, очевидно, что профилировщик позволяет разработчикам и администраторам баз данных (DBA) создавать и обрабатывать трассировки, а также воспроизводить и анализировать их результаты.
Приложение SQL Profiler
Служебная программа profiler не предназначена для написания скриптов трассировки. Дополнительные сведения см. в разделе Start SQL Server Profiler.
Синтаксис
Аргументы
По возможности используйте аутентификацию Windows..
/E
Задает подключение с использованием проверки подлинности Windows с учетными данными текущего пользователя.
/D database
Указывает имя базы данных, которая будет использоваться с соединением. Если база данных не указывается, этот аргумент выберет базу данных по умолчанию для указанного пользователя.
/B « trace_table_name «
Указывает таблицу трассировки для загрузки при запуске профайлера. Необходимо задать базу данных, пользователя или схему, а также таблицу.
/T» template_name «
Указывает шаблон, загружаемый для настройки трассировки. Имя шаблона должно быть заключено в кавычки. Имя шаблона должно находиться либо в системном каталоге шаблонов, либо в пользовательском каталоге шаблонов. В случае существования двух шаблонов с одним именем в обоих каталогах будет загружен шаблон, находящийся в системном каталоге. Если шаблон с указанным именем не существует, то будет загружен стандартный шаблон. Примечание. Расширение файла для шаблона (TDF) в аргументе template_name указывать не нужно. Пример:
/F» filename «
Указывает путь и имя файла трассировки, загружаемого при запуске профайлера. Полный путь и имя файла должны быть заключены в кавычки. Этот параметр нельзя использовать совместно с параметром /O.
/O « filename «
Указывает путь и имя файла, в который должны быть записаны результаты трассировки. Полный путь и имя файла должны быть заключены в кавычки. Этот параметр нельзя использовать совместно с параметром /F.
/L locale_ID
Недоступно.
/M « MM-DD-YY hh:mm:ss «
Задает дату и время остановки трассировки. Время остановки должно быть заключено в кавычки. Задайте время остановки согласно параметрам в следующей таблице.
Параметр | Определение |
---|---|
ММ | Месяц (2 разряда) |
DD | День (2 разряда) |
ГГ | Год (2 разряда) |
hh | Час (2 разряда), в 24-часовом формате |
ММ | Минуты (2 разряда) |
сс | Секунды (2 разряда) |
Формат «ММ-ДД-ГГ чч:мм:сс» можно использовать только в том случае, если включен параметр Использовать региональные настройки при показе значений даты и времени в приложении Приложение SQL Server Profiler. Если этот параметр не включен, следует использовать формат даты и времени «ГГГГ-ММ-ДД чч:мм:сс».
/R
Включает операцию переключения на файл продолжения трассировки.
/Z file_size
Определяет размер файла трассировки в мегабайтах (МБ). Размер по умолчанию составляет 5 МБ. Если включена операция переключения, все файлы продолжения будут ограничены значением, указанным в этом аргументе.