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.
Identifique los eventos que desea incluir en el seguimiento.
Identifique los datos y las columnas de datos que contienen la información necesaria.
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_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)