Filtrar un seguimiento
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 SQL Server Profiler crea seguimientos, filtra su propia actividad de forma 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 |
---|---|---|
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. |
Equals | = | 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 | Use SQL Server Profiler para filtrar eventos en 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 | Use SQL Server Profiler para filtrar eventos en 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 | Use SQL Server Profiler para filtrar eventos en 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 | =, <>, >=, <= |
IdSolicitud | =, <>, >=, <= |
RoleName | LIKE, NOT LIKE |
RowCounts | =, <>, >=, <= |
SessionLoginName | LIKE, NOT LIKE |
Gravedad | =, <>, >=, <= |
SourceDatabaseID | =, <>, >=, <= |
SPID | =, <>, >=, <= |
SqlHandle | Use SQL Server Profiler para filtrar eventos en 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 | Use SQL Server Profiler para filtrar eventos en esta columna de datos. Para obtener más información, vea Filtrar seguimientos con SQL Server Profiler. |
TargetUserName | LIKE, NOT LIKE |
TextData1 | LIKE, NOT LIKE |
TransactionID | =, <>, >=, <= |
Tipo | =, <>, >=, <= |
Writes | =, <>, >=, <= |
XactSequence | =, <>, >=, <= |
1 Si se trazan eventos desde la utilidad osql o la utilidad sqlcmd , anexe % 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, Impide que los usuarios, que de lo contrario tengan permisos para realizar un seguimiento de toda la actividad en 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)