Share via


Filtrer une trace

Les filtres limitent les événements recueillis dans une trace. Si aucun filtre n'est défini, tous les événements des classes d'événements sélectionnées sont retournés dans le résultat de trace. Par exemple, limiter les noms d'utilisateurs Windows d'une trace à des utilisateurs particuliers réduit le volume des données de sortie à ces seuls utilisateurs.

Il n'est pas obligatoire de définir un filtre pour une trace. Cependant, un filtre minimise la charge générée au cours d'une trace. Un filtre retourne des données ciblées et permet ainsi de faciliter les analyses de performance et les audits.

Pour filtrer les données relatives aux événements capturés au sein d'une trace, sélectionnez les critères d'événements de trace qui ne retournent que des données pertinentes à partir de la trace. Ainsi, vous pouvez inclure ou exclure de la trace l'analyse de l'activité d'une application particulière.

Notes

Lorsque SQL Server Profiler crée des traces, il filtre sa propre activité par défaut.

À titre d'exemple supplémentaire, lorsque vous surveillez des requêtes pour déterminer les traitements les plus longs à exécuter, vous pouvez définir les critères d'événements de trace pour surveiller (analyser) uniquement les traitements dont l'exécution prend plus de 30 secondes (valeur minimale de l'UC de 30 000 millisecondes).

Instructions de création de filtres

En général, suivez ces étapes pour filtrer une trace.

  1. Identifiez les événements que vous voulez inclure dans la trace.

  2. Identifiez les données et les colonnes des données qui contiennent les informations dont vous avez besoin.

  3. Identifiez un sous-ensemble des données dont vous avez besoin et définissez des filtres en fonction de ce sous-ensemble.

Par exemple, vous pouvez être intéressé uniquement par les événements qui durent plus longtemps qu'une certaine période de temps. Vous pouvez créer une trace qui inclut les événements pour lesquels les données de la colonne Durée sont supérieures à 300 millisecondes. Votre trace n'inclura pas les événements qui se terminent en moins de 300 millisecondes.

Vous pouvez créer des filtres en utilisant le Générateur de profils SQL Server Profiler ou des procédures stockées Transact-SQL.

Pour filtrer des événements dans un modèle de trace

Filtrer des événements dans une trace (SQL Server Profiler)

Définir un filtre de trace (Transact-SQL)

Pour modifier des filtres

Modifier un filtre (SQL Server Profiler)

La disponibilité du filtre dépend de la colonne de données. Certaines colonnes de données ne peuvent être filtrées. Les colonnes de données qui peuvent être filtrées ne peuvent l'être qu'en fonction de certains opérateurs relationnels, comme spécifié dans le tableau suivant.

Opérateur relationnel Symbole d'opérateur Description
Correspond à LIKE Indique que les données d'événements de trace doivent correspondre au texte entré. Autorise plusieurs valeurs.
Ne correspond pas à Ne correspond pas à Indique que les données d'événements de trace ne doivent pas correspondre au texte entré. Autorise plusieurs valeurs.
Égal à = Indique que les données d'événements de trace doivent être égales à la valeur entrée. Autorise plusieurs valeurs.
Différent de <> Indique que les données d'événements de trace ne doivent pas être égales à la valeur entrée. Autorise plusieurs valeurs.
Supérieur à > Indique que les données d'événements de trace doivent être supérieures à la valeur entrée.
Supérieur ou égal à >= Indique que les données d'événements de trace doivent être supérieures ou égales à la valeur entrée.
Inférieur à < Indique que les données d'événements de trace doivent être inférieures à la valeur entrée.
Inférieur ou égal à <= Indique que les données d'événements de trace doivent être inférieures ou égales à la valeur entrée.

Le tableau suivant liste les colonnes de données filtrables, ainsi que les opérateurs relationnels disponibles.

Colonnes de données Opérateurs relationnels
ApplicationName LIKE, NOT LIKE
BigintData1 =, <>, >=, <=
BigintData2 =, <>, >=, <=
BinaryData Utilisez SQL Server Profiler pour filtrer les événements de cette colonne de données. Pour plus d’informations, consultez Filtrer des traces avec SQL Server Profiler.
ClientProcessID =, <>, >=, <=
ColumnPermissions =, <>, >=, <=
UC =, <>, >=, <=
DatabaseID =, <>, >=, <=
DatabaseName LIKE, NOT LIKE
DBUserName LIKE, NOT LIKE
Durée =, <>, >=, <=
EndTime >=, <=
Error =, <>, >=, <=
EventSubClass =, <>, >=, <=
FileName LIKE, NOT LIKE
GUID Utilisez SQL Server Profiler pour filtrer les événements de cette colonne de données. Pour plus d’informations, consultez Filtrer des traces avec SQL Server Profiler.
Handle =, <>, >=, <=
HostName LIKE, NOT LIKE
IndexID =, <>, >=, <=
IntegerData =, <>, >=, <=
IntegerData2 =, <>, >=, <=
IsSystem =, <>, >=, <=
LineNumber =, <>, >=, <=
LinkedServerName LIKE, NOT LIKE
LoginName LIKE, NOT LIKE
LoginSid Utilisez SQL Server Profiler pour filtrer les événements dans cette colonne de données. Pour plus d’informations, consultez Filtrer des traces avec 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
autorisations =, <>, >=, <=
ProviderName LIKE, NOT LIKE
Reads =, <>, >=, <=
RequestID =, <>, >=, <=
RoleName LIKE, NOT LIKE
RowCounts =, <>, >=, <=
SessionLoginName LIKE, NOT LIKE
Niveau de gravité =, <>, >=, <=
SourceDatabaseID =, <>, >=, <=
SPID =, <>, >=, <=
SqlHandle Utilisez SQL Server Profiler pour filtrer les événements dans cette colonne de données. Pour plus d’informations, consultez Filtrer des traces avec SQL Server Profiler.
StartTime >=, <=
State =, <>, >=, <=
Success =, <>, >=, <=
TargetLoginName LIKE, NOT LIKE
TargetLoginSid Utilisez SQL Server Profiler pour filtrer les événements dans cette colonne de données. Pour plus d’informations, consultez Filtrer des traces avec SQL Server Profiler.
TargetUserName LIKE, NOT LIKE
TextData1 LIKE, NOT LIKE
TransactionID =, <>, >=, <=
Type =, <>, >=, <=
Writes =, <>, >=, <=
XactSequence =, <>, >=, <=

1 Si vous effectuez le suivi d’événements à partir de l’utilitaire osql ou de l’utilitaire sqlcmd , ajoutez % toujours aux filtres sur la colonne de données TextData .

En tant que mécanisme de sécurité, le Générateur de profils SQL omet automatiquement de la trace les procédures stockées de sécurité qui affectent les mots de passe. Ce mécanisme de sécurité n'est pas configurable et est toujours actif. Il empêche les utilisateurs, qui disposent d’autorisations pour suivre toutes les activités sur SQL Server, de capturer des mots de passe.

Les procédures stockées de sécurité suivantes sont surveillées, mais aucune donnée de sortie n’est écrite dans la colonne de données 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)