Фильтрация трассировки
Применимо к:SQL Server
Фильтры ограничивают накопление событий в трассировке. Если фильтр не установлен, то на выход трассировки возвращаются все события выбранных классов событий. Например, ограничение в трассировке по отслеживанию только имен определенных пользователей Windows сокращает объем выходных данных до объема данных только для этих пользователей.
Установка фильтра трассировки необязательна. Однако фильтр уменьшает дополнительную нагрузку, возникающую при трассировке. Фильтр возвращает конкретные данные, тем самым упрощая аудит и анализ производительности.
Для фильтрации данных о событии, зафиксированных во время трассировки, выберите критерий события трассировки, который будет возвращать из трассировки только необходимые данные. Например, можно включить или выключить мониторинг активности определенного приложения в трассировке.
Заметка
Когда SQL Server Profiler создает трассировки, он фильтрует собственное действие по умолчанию.
Рассмотрим другой пример: если производится мониторинг запросов для определения пакетов, которым для выполнения требуется наибольшее время, то нужно установить критерий событий трассировки для проведения мониторинга только тех пакетов, выполнение которых проходит дольше 30 секунд (минимальное значение процессорного времени равно 30 000 миллисекунд).
Правила создания фильтров
В общем случае для создания фильтра трассировки выполните следующие шаги.
Определите события, которые нужно включить в трассировку.
Определите данные и столбцы данных, содержащие необходимые сведения.
Определите подмножество необходимых данных и определите фильтры, основанные на данном подмножестве.
Допустим, что интересны только те события, которые происходят дольше определенного отрезка времени. Тогда можно создать трассировку, в которой будут содержаться события, для которых значения столбца данных Продолжительность больше, чем 300 миллисекунд. В трассировку не будут включаться события, выполнение которых продолжалось менее 300 миллисекунд.
Создавать фильтры можно при помощи хранимых процедур Transact-SQL или приложения SQL Server Profiler.
Фильтрация событий в шаблоне трассировки
Фильтровать события в трассировке (SQL Server Profiler)
Создание фильтра трассировки (Transact-SQL)
Изменение фильтров
Изменение фильтра (приложение SQL Server Profiler)
Доступность фильтра зависит от столбца данных. По некоторым столбцам данных нельзя проводить фильтрацию. Для столбцов данных, по которым можно проводить фильтрацию, она возможна только с помощью специальных реляционных операторов, как показано в следующей таблице.
Реляционный оператор | Символ оператора | Description |
---|---|---|
Подобно | LIKE | Определяет, что данные событий трассировки должны быть похожи на введенный текст. Допускает множественные значения. |
Не похоже | Не похоже | Определяет то, что данные событий трассировки не должны быть похожи на введенный текст. Допускает множественные значения. |
Равно | = | Определяет то, что данные событий трассировки должны быть равны введенному значению. Допускает множественные значения. |
Не равно | <> | Определяет то, что данные событий трассировки не должны быть равны введенному значению. Допускает множественные значения. |
Больше | > | Определяет то, что данные событий трассировки должны быть больше чем введенное значение. |
Больше или равно | >= | Определяет то, что данные событий трассировки должны быть больше или равны введенному значению. |
Меньше | < | Определяет то, что данные событий трассировки должны быть меньше чем введенное значение. |
Меньше или равно | <= | Определяет то, что данные событий трассировки должны быть меньше или равны введенному значению. |
В следующей таблице приведен список фильтруемых столбцов данных и доступных реляционных операторов.
Столбцы данных | Реляционные операторы |
---|---|
ApplicationName | LIKE, NOT LIKE |
BigintData1 | =, <>, >=, <= |
BigintData2 | =, <>, >=, <= |
BinaryData | Используйте SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
ClientProcessID | =, <>, >=, <= |
ColumnPermissions | =, <>, >=, <= |
ЦП | =, <>, >=, <= |
DatabaseID | =, <>, >=, <= |
DatabaseName | LIKE, NOT LIKE |
DBUserName | LIKE, NOT LIKE |
Длительность | =, <>, >=, <= |
EndTime | >=, <= |
Ошибка | =, <>, >=, <= |
EventSubClass | =, <>, >=, <= |
FileName | LIKE, NOT LIKE |
GUID | Используйте SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
Дескриптор | =, <>, >=, <= |
HostName | LIKE, NOT LIKE |
IndexID | =, <>, >=, <= |
IntegerData | =, <>, >=, <= |
IntegerData2 | =, <>, >=, <= |
IsSystem | =, <>, >=, <= |
LineNumber | =, <>, >=, <= |
LinkedServerName | LIKE, NOT LIKE |
LoginName | LIKE, NOT LIKE |
LoginSid | Используйте SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
MethodName | LIKE, NOT LIKE |
Режим | =, <>, >=, <= |
NestLevel | =, <>, >=, <= |
NTDomainName | LIKE, NOT LIKE |
NTUserName | LIKE, NOT LIKE |
ObjectID | =, <>, >=, <= |
ObjectID2 | =, <>, >=, <= |
ObjectName | LIKE, NOT LIKE |
ObjectType | =, <>, >=, <= |
Offset | =, <>, >=, <= |
OwnerID | =, <>, >=, <= |
OwnerName | LIKE, NOT LIKE |
ParentName | LIKE, NOT LIKE |
Разрешения | =, <>, >=, <= |
ProviderName | LIKE, NOT LIKE |
Reads | =, <>, >=, <= |
RequestID | =, <>, >=, <= |
RoleName | LIKE, NOT LIKE |
RowCounts | =, <>, >=, <= |
SessionLoginName | LIKE, NOT LIKE |
Severity | =, <>, >=, <= |
SourceDatabaseID | =, <>, >=, <= |
SPID | =, <>, >=, <= |
SqlHandle | Используйте SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
StartTime | >=, <= |
Штат | =, <>, >=, <= |
Успешно | =, <>, >=, <= |
TargetLoginName | LIKE, NOT LIKE |
TargetLoginSid | Используйте SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
TargetUserName | LIKE, NOT LIKE |
TextData * | LIKE, NOT LIKE |
TransactionID | =, <>, >=, <= |
Тип | =, <>, >=, <= |
Writes | =, <>, >=, <= |
XactSequence | =, <>, >=, <= |
* Если события трассировки из служебной программы osql или служебной программы sqlcmd всегда добавляются % к фильтрам в столбце данных TextData .
В целях предосторожности трассировка SQL автоматически исключает из трассировки любые сведения о хранимых процедурах безопасности, затрагивающих пароли. Этот механизм безопасности работает всегда и его нельзя настроить. Он запрещает пользователям, у которых в противном случае есть разрешения на трассировку всех действий в SQL Server, от записи паролей.
За следующими хранимыми процедурами безопасности осуществляется контроль, но в столбец данных TextData выходные данные не записываются:
sp_adddistpublisher (Transact-SQL)
sp_adddistributiondb (Transact-SQL)
sp_adddistributor (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)
sp_addmergepullsubscription_agent (Transact-SQL)
sp_addpullsubscription_agent (Transact-SQL)
sp_addremotelogin (Transact-SQL)
sp_addsubscriber (Transact-SQL)
sp_approlepassword (Transact-SQL)
sp_changedistpublisher (Transact-SQL)
sp_changesubscriber (Transact-SQL)
sp_helpsubscription_properties (Transact-SQL)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по