Filtrar un seguimiento

Se aplica a:SQL Server

Los filtros limitan los eventos que se recopilan en el seguimiento. Si no se establece un filtro, se devolverán todos los eventos de las clases de eventos seleccionadas en el resultado del seguimiento. Por ejemplo, si limita los nombres de usuarios de Windows de un seguimiento para usuarios específicos, los datos de la salida se limitarán solo a aquellos usuarios.

No es obligatorio establecer un filtro para un seguimiento. Sin embargo, un filtro minimiza la sobrecarga que comporta un seguimiento. Un filtro devuelve los datos relativos y, de este modo, facilita el análisis del rendimiento y las auditorías.

Para filtrar los datos de eventos capturados en un seguimiento, seleccione los criterios de los eventos de seguimiento que devuelven solo los datos relevantes del seguimiento. Por ejemplo, puede incluir o excluir la supervisión de la actividad de una aplicación específica en el seguimiento.

Nota:

Cuando el SQL Server Profiler crea seguimientos, filtra su propia actividad de manera predeterminada.

Como ejemplo adicional, si supervisa consultas para determinar los procesos por lotes que tardan más tiempo en ejecutarse, puede establecer los criterios de los eventos de seguimiento de modo que se supervisen solo los procesos por lotes que tarden más de 30 segundos en ejecutarse (un valor mínimo de CPU de 30.000 milisegundos).

Directrices para la creación de filtros

En general, se deben seguir los pasos que se indican a continuación para filtrar un seguimiento.

  1. Identifique los eventos que desea incluir en el seguimiento.

  2. Identifique los datos y las columnas de datos que contienen la información necesaria.

  3. Identifique un subconjunto de los datos que necesita y defina filtros basándose en ese subconjunto de datos.

Por ejemplo, puede que solo le interesen los eventos que tardan más de un tiempo determinado. Puede crear un seguimiento que incluya los eventos en los que el valor de la columna de datos Duration supere los 300 milisegundos. El seguimiento no incluirá los eventos que finalicen en menos de 300 milisegundos.

Puede crear filtros mediante procedimientos almacenados de SQL Server Profiler o Transact-SQL.

Para filtrar los eventos de una plantilla de seguimiento

Filtrar eventos en un seguimiento (SQL Server Profiler)

Establecer un filtro de seguimiento (Transact-SQL)

Para modificar filtros

Modificar un filtro (SQL Server Profiler)

La disponibilidad de filtros depende de la columna de datos. Algunas columnas de datos no se pueden filtrar. Las demás solo se pueden filtrar mediante determinados operadores relacionales, como se muestra en la siguiente tabla.

Operador relacional Símbolo del operador Descripción
Like LIKE Especifica que los datos del evento de seguimiento deben ser como el texto escrito. Acepta varios valores.
No es como No es como Especifica que los datos del evento de seguimiento no deben ser como el texto escrito. Acepta varios valores.
Es igual a = Especifica que los datos del evento de seguimiento deben ser iguales al valor escrito. Acepta varios valores.
No igual a <> Especifica que los datos del evento de seguimiento deben ser distintos del valor escrito. Acepta varios valores.
Mayor que > Especifica que los datos del evento de seguimiento deben ser mayores que el valor escrito.
Mayor o igual que >= Especifica que los datos del evento de seguimiento deben ser mayores o iguales que el valor escrito.
Menor que < Especifica que los datos del evento de seguimiento deben ser menores que el valor escrito.
Menor o igual que <= Especifica que los datos del evento de seguimiento deben ser menores o iguales que el valor escrito.

En la siguiente tabla se muestran las columnas de datos filtrables y los operadores relacionales disponibles.

Columnas de datos Operadores relacionales
ApplicationName LIKE, NOT LIKE
BigintData1 =, <>, >=, <=
BigintData2 =, <>, >=, <=
BinaryData Utilice el SQL Server Profiler para filtrar los eventos de esta columna de datos. Para obtener más información, vea Filtrar seguimientos con SQL Server Profiler.
ClientProcessID =, <>, >=, <=
ColumnPermissions =, <>, >=, <=
CPU =, <>, >=, <=
DatabaseID =, <>, >=, <=
DatabaseName LIKE, NOT LIKE
DBUserName LIKE, NOT LIKE
Duración =, <>, >=, <=
EndTime >=, <=
Error =, <>, >=, <=
EventSubClass =, <>, >=, <=
FileName LIKE, NOT LIKE
GUID Utilice el SQL Server Profiler para filtrar los eventos de esta columna de datos. Para obtener más información, vea Filtrar seguimientos con SQL Server Profiler.
Handle =, <>, >=, <=
HostName LIKE, NOT LIKE
IndexID =, <>, >=, <=
IntegerData =, <>, >=, <=
IntegerData2 =, <>, >=, <=
IsSystem =, <>, >=, <=
LineNumber =, <>, >=, <=
LinkedServerName LIKE, NOT LIKE
LoginName LIKE, NOT LIKE
LoginSid Utilice el SQL Server Profiler para filtrar los eventos de esta columna de datos. Para obtener más información, vea Filtrar seguimientos con 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
Permisos =, <>, >=, <=
ProviderName LIKE, NOT LIKE
Reads =, <>, >=, <=
IdSolicitud =, <>, >=, <=
RoleName LIKE, NOT LIKE
RowCounts =, <>, >=, <=
SessionLoginName LIKE, NOT LIKE
Gravedad =, <>, >=, <=
SourceDatabaseID =, <>, >=, <=
SPID =, <>, >=, <=
SqlHandle Utilice el SQL Server Profiler para filtrar los eventos de esta columna de datos. Para obtener más información, vea Filtrar seguimientos con SQL Server Profiler.
StartTime >=, <=
State =, <>, >=, <=
Success =, <>, >=, <=
TargetLoginName LIKE, NOT LIKE
TargetLoginSid Utilice el SQL Server Profiler para filtrar los eventos de esta columna de datos. Para obtener más información, vea Filtrar seguimientos con SQL Server Profiler.
TargetUserName LIKE, NOT LIKE
TextData * LIKE, NOT LIKE
TransactionID =, <>, >=, <=
Tipo =, <>, >=, <=
Writes =, <>, >=, <=
XactSequence =, <>, >=, <=

* Si se realiza un seguimiento de los eventos con la utilidad osql o sqlcmd, agregue siempre % a los filtros de la columna TextData.

Como mecanismo de seguridad, Seguimiento de SQL omite automáticamente del seguimiento la información de los procedimientos almacenados relacionados con la seguridad que afecten a contraseñas. Este mecanismo de seguridad no es configurable y siempre está activo, Lo que impide que los usuarios, que de otra manera tendrían los permisos para realizar el seguimiento de toda la actividad de SQL Server, capturen contraseñas.

Se supervisan los siguientes procedimientos almacenados relativos a la seguridad, pero no se escribe ninguna salida en la columna de datos TextData :

sp_addapprole (Transact-SQL)

sp_adddistpublisher (Transact-SQL)

sp_adddistributiondb (Transact-SQL)

sp_adddistributor (Transact-SQL)

sp_addlinkedserver (Transact-SQL)

sp_addlinkedsrvlogin (Transact-SQL)

sp_addlogin (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_dsninfo (Transact-SQL)

sp_helpsubscription_properties (Transact-SQL)

sp_link_publication (Transact-SQL)

sp_password (Transact-SQL)

sp_setapprole (Transact-SQL)