Comment puis-je limiter une trace SQL Server Profiler à une base de données spécifique ? Je ne vois pas comment filtrer la trace pour ne pas voir les événements de toutes les bases de données sur l'instance à laquelle je me connecte.
Réponses
Trop de publicités?Sous Propriétés de la trace > onglet Sélection des événements > sélectionnez Afficher toutes les colonnes. Maintenant, sous les filtres de colonne, vous devriez voir le nom de la base de données. Entrez le nom de la base de données pour la section Like et vous devriez voir les traces uniquement pour cette base de données.
En SQL 2005, vous devez d'abord afficher la colonne Database Name dans votre trace. La chose la plus simple à faire est de choisir le modèle Tuning, qui a déjà cette colonne ajoutée.
En supposant que vous avez sélectionné le modèle Tuning, pour filtrer :
- Cliquez sur l'onglet "Sélection d'événements".
- Cliquez sur le bouton "Filtres de colonnes".
- Sélectionnez "DatabaseName", cliquez sur le plus à côté de Like dans le volet de droite, et tapez le nom de votre base de données.
Je sauvegarde toujours la trace dans un tableau afin de pouvoir effectuer des requêtes LIKE sur les données de la trace après coup.
Par expérience, j'ai pu l'observer :
Lorsque SQL Profiler 2005 ou SQL Profiler 2000 est utilisé avec une base de données résidant dans SQLServer 2000 - le problème mentionné persiste, mais lorsque SQL Profiler 2005 est utilisé avec une base de données SQLServer 2005, il fonctionne parfaitement !
En résumé, le problème semble prévaloir dans SQLServer 2000 et être rectifié dans SQLServer 2005.
La solution pour le problème avec SQLServer 2000 est (comme expliqué par wearejimbo)
-
Identifiez le DatabaseID de la base de données que vous voulez filtrer en interrogeant la table sysdatabases comme ci-dessous
SELECT * FROM master..sysdatabases WHERE name like '%your_db_name%' -- Remove this line to see all databases ORDER BY dbid
-
Utilisez le filtre DatabaseID (au lieu de DatabaseName) dans la fenêtre New Trace de SQL Profiler 2000.
Dans les propriétés de la trace, cliquez sur le bouton Sélection d'événements en haut de la page, à côté de Général . Cliquez ensuite sur Filtres à colonnes... en bas à droite. Vous pouvez ensuite sélectionner les éléments à filtrer, tels que TextData
o DatabaseName
.
Élargir le Comme et entrez votre filtre avec le pourcentage %
des signes comme %MyDatabaseName%
o %TextDataToFilter%
. Sans le %%
signe le filtre ne fonctionnera pas.
Assurez-vous également de cocher la case Exclure les lignes qui ne contiennent pas de valeurs". Si vous ne trouvez pas le champ que vous cherchez à filtrer, tel que DatabaseName
aller au Général et modifiez votre Modèle Le formulaire vierge doit contenir tous les champs.