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.
[!REMARQUE]
Lorsque le SQL Server Profiler crée des traces, il exclut 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.
Identifiez les événements que vous voulez inclure dans la trace.
Identifiez les données et les colonnes des données qui contiennent les informations dont vous avez besoin.
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 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 à |
NOT LIKE |
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.
Colonne de données |
Opérateurs relationnels |
---|---|
ApplicationName |
LIKE, NOT LIKE |
BigintData1 |
=, <>, >=, <= |
BigintData2 |
=, <>, >=, <= |
BinaryData |
Utilisez le 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 |
>=, <= |
Erreur |
=, <>, >=, <= |
EventSubClass |
=, <>, >=, <= |
FileName |
LIKE, NOT LIKE |
GUID |
Utilisez le 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 le 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. |
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 |
Severity |
=, <>, >=, <= |
SourceDatabaseID |
=, <>, >=, <= |
SPID |
=, <>, >=, <= |
SqlHandle |
Utilisez le 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. |
StartTime |
>=, <= |
État |
=, <>, >=, <= |
Opération réussie |
=, <>, >=, <= |
TargetLoginName |
LIKE, NOT LIKE |
TargetLoginSid |
Utilisez le 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. |
TargetUserName |
LIKE, NOT LIKE |
TextData 1 |
LIKE, NOT LIKE |
TransactionID |
=, <>, >=, <= |
Type |
=, <>, >=, <= |
Writes |
=, <>, >=, <= |
XactSequence |
=, <>, >=, <= |
1 Si le traçage des événements est réalisé avec l'utilitaire osql ou l'utilitaire sqlcmd, il faut toujours ajouter % aux filtres de 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 par ailleurs ont l'autorisation de tracer l'ensemble de l'activité de SQL Server, d'intercepter les 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_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)