Фильтрация трассировки
Фильтры ограничивают накопление событий в трассировке. Если фильтр не установлен, то на выход трассировки возвращаются все события выбранных классов событий. Например, ограничение в трассировке по отслеживанию только имен определенных пользователей Windows сокращает объем выходных данных до объема данных только для этих пользователей.
Установка фильтра трассировки необязательна. Однако фильтр уменьшает дополнительную нагрузку, возникающую при трассировке. Фильтр возвращает конкретные данные, тем самым упрощая аудит и анализ производительности.
Для фильтрации данных о событии, зафиксированных во время трассировки, выберите критерий события трассировки, который будет возвращать из трассировки только необходимые данные. Например, можно включить или выключить мониторинг активности определенного приложения в трассировке.
Примечание |
---|
Когда программа Приложение SQL Server Profiler создает трассировку, по умолчанию производится фильтрация своей собственной активности. |
Рассмотрим другой пример: если производится мониторинг запросов для определения пакетов, которым для выполнения требуется наибольшее время, то нужно установить критерий событий трассировки для проведения мониторинга только тех пакетов, выполнение которых проходит дольше 30 секунд (минимальное значение процессорного времени равно 30 000 миллисекунд).
Правила создания фильтров
В общем случае для создания фильтра трассировки выполните следующие шаги.
Определите события, которые нужно включить в трассировку.
Определите данные и столбцы данных, содержащие необходимые сведения.
Определите подмножество необходимых данных и определите фильтры, основанные на данном подмножестве.
Допустим, что интересны только те события, которые происходят дольше определенного отрезка времени. Тогда можно создать трассировку, в которой будут содержаться события, для которых значения столбца данных Продолжительность больше, чем 300 миллисекунд. В трассировку не будут включаться события, выполнение которых продолжалось менее 300 миллисекунд.
Создавать фильтры можно при помощи хранимых процедур Transact-SQL или приложения SQL Server Profiler.
Фильтрация событий в шаблоне трассировки
Изменение фильтров
Как изменить фильтр (приложение SQL Server Profiler)
Доступность фильтра зависит от столбца данных. По некоторым столбцам данных нельзя проводить фильтрацию. Для столбцов данных, по которым можно проводить фильтрацию, она возможна только с помощью специальных реляционных операторов, как показано в следующей таблице.
Реляционный оператор |
Символ оператора |
Описание |
---|---|---|
Похоже |
LIKE |
Определяет то, что данные событий трассировки должны быть похожи на введенный текст. Допускает множественные значения. |
Не похоже |
NOT LIKE |
Определяет то, что данные событий трассировки не должны быть похожи на введенный текст. Допускает множественные значения. |
Равно |
= |
Определяет то, что данные событий трассировки должны быть равны введенному значению. Допускает множественные значения. |
Не равно |
<> |
Определяет то, что данные событий трассировки не должны быть равны введенному значению. Допускает множественные значения. |
Больше |
> |
Определяет то, что данные событий трассировки должны быть больше чем введенное значение. |
Больше или равно |
>= |
Определяет то, что данные событий трассировки должны быть больше или равны введенному значению. |
Меньше |
< |
Определяет то, что данные событий трассировки должны быть меньше чем введенное значение. |
Меньше или равно |
<= |
Определяет то, что данные событий трассировки должны быть меньше или равны введенному значению. |
В следующей таблице приведен список фильтруемых столбцов данных и доступных реляционных операторов.
Столбцы данных |
Реляционные операторы |
---|---|
ApplicationName |
LIKE, NOT LIKE |
BigintData1 |
=, <>, >=, <= |
BigintData2 |
=, <>, >=, <= |
BinaryData |
Используйте Приложение SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
ClientProcessID |
=, <>, >=, <= |
ColumnPermissions |
=, <>, >=, <= |
CPU |
=, <>, >=, <= |
DatabaseID |
=, <>, >=, <= |
DatabaseName |
LIKE, NOT LIKE |
DBUserName |
LIKE, NOT LIKE |
Duration |
=, <>, >=, <= |
EndTime |
>=, <= |
Error |
=, <>, >=, <= |
EventSubClass |
=, <>, >=, <= |
FileName |
LIKE, NOT LIKE |
GUID |
Используйте приложение Приложение SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
Handle |
=, <>, >=, <= |
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 |
Mode |
=, <>, >=, <= |
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 |
Permissions |
=, <>, >=, <= |
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 |
>=, <= |
State |
=, <>, >=, <= |
Success |
=, <>, >=, <= |
TargetLoginName |
LIKE, NOT LIKE |
TargetLoginSid |
Используйте приложение Приложение SQL Server Profiler для фильтрации событий в этом столбце данных. Дополнительные сведения см. в разделе Фильтрация трассировок с помощью приложения SQL Server Profiler. |
TargetUserName |
LIKE, NOT LIKE |
TextData1 |
LIKE, NOT LIKE |
TransactionID |
=, <>, >=, <= |
Type |
=, <>, >=, <= |
Writes |
=, <>, >=, <= |
XactSequence |
=, <>, >=, <= |
1 Если события трассируются из программы osql или программы sqlcmd, то всегда добавляйте % к фильтрам по столбцу данных TextData.
В целях предосторожности SQL Trace автоматически исключает из трассировки любые сведения о хранимых процедурах безопасности, затрагивающих пароли. Этот механизм безопасности работает всегда и его нельзя настроить. Он предотвращает перехват паролей пользователями, получившими другим способом доступ к трассировке работы всех служб 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_changesubstatus (Transact-SQL)
sp_helpsubscription_properties (Transact-SQL)