Filtrar un seguimiento

Los filtros limitan los eventos que se recopilan en el seguimiento. Si no se establece ningún filtro, se devuelven todos los eventos de las clases de eventos seleccionadas en la salida 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

Como

LIKE

Especifica que los datos del evento de seguimiento deben ser como el texto escrito. Acepta varios valores.

No es como

NOT LIKE

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 es 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

Duration

=, <>, >=, <=

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

Modo

=, <>, >=, <=

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

=, <>, >=, <=

RequestID

=, <>, >=, <=

RoleName

LIKE, NOT LIKE

RowCounts

=, <>, >=, <=

SessionLoginName

LIKE, NOT LIKE

Severity

=, <>, >=, <=

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

>=, <=

Estado

=, <>, >=, <=

Correcto

=, <>, >=, <=

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 1

LIKE, NOT LIKE

TransactionID

=, <>, >=, <=

Tipo

=, <>, >=, <=

Writes

=, <>, >=, <=

XactSequence

=, <>, >=, <=

1 Si se realiza un seguimiento de los eventos de la utilidad osql o sqlcmd, agregue siempre % a los filtros de la columna de datos 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)