Affichage et analyse des traces avec le Générateur de profils SQL Server
Mis à jour : 12 décembre 2006
Utilisez le Générateur de profils SQL Server pour afficher les données d'événement capturées dans une trace. Générateur de profils SQL Server affiche les données en fonction des propriétés de trace définies. Une façon d'analyser les données de SQL Server consiste à les copier dans un autre programme, par exemple SQL Server 2005 ou l'Assistant Paramétrage du Moteur de base de données. L'Assistant Paramétrage du Moteur de base de données peut utiliser un fichier de trace qui contient des événements de lots SQL et d'appels de procédures distantes si la colonne de données Text est présente dans la trace. Pour plus d'informations, consultez Paramétrage du modèle physique de la base de données. Pour vous assurer que les colonnes et les événements nécessaires sont bien présents pour être utilisés avec l'Assistant Paramétrage du Moteur de base de données, utilisez le modèle de paramétrage prédéfini fourni avec Générateur de profils SQL Server.
Si vous ouvrez une trace en utilisant le Générateur de profils SQL Server, il n'est pas nécessaire que le fichier de trace porte l'extension .trc si le fichier a été créé par le Générateur de profils SQL Server ou des procédures stockées du système de trace SQL.
Remarque : |
---|
Le Générateur de profils SQL Server peut également lire les fichiers de trace SQL portant l'extension .log et les fichiers de script SQL génériques. Si vous ouvrez un fichier de trace SQL qui ne porte pas l'extension .log, par exemple le fichier trace.txt, spécifiez SQLTrace_Log comme format de fichier. |
Vous pouvez configurer le format d'horodatage du Générateur de profils SQL Server pour vous aider dans l'analyse des traces.
Dépannage de problèmes liés aux données
Le Générateur de profils SQL Server vous permet de résoudre des problèmes de données en regroupant les traces ou les fichiers de traces dans quatre colonnes : Duration, CPU, Reads et Writes. Le genre de données que vous pourriez être amené à réparer pourrait être une requête qui fonctionne mal ou qui a un nombre exceptionnellement élevé de lectures logiques.
Vous pouvez trouver des informations complémentaires en enregistrant les traces dans des tables et en utilisant Transact-SQL pour interroger les données d'événement. Par exemple, pour déterminer quels événements SQL:BatchCompleted ont présenté des délais d'attente excessifs, exécutez :
SELECT TextData, Duration, CPU
FROM trace_table_name
WHERE EventClass = 12 -- SQL:BatchCompleted events
AND CPU < (Duration * 1000)
Remarque : |
---|
Dans SQL Server 2005, le serveur signale la durée d'un événement en microsecondes (le millionième, ou 10-6, d'une seconde) et le temps UC utilisé par l'événement en millisecondes (le millième, ou 10-3, d'une seconde). Dans SQL Server 2000, le serveur indiquait la durée aussi bien que le temps UC en millisecondes. Dans SQL Server 2005, l'interface utilisateur graphique de Générateur de profils SQL Server affiche par défaut la colonne Durée en millisecondes, mais quand la trace est enregistrée dans un fichier ou une table de base de données, la valeur de la colonne Durée est mentionnée en microsecondes. |
Affichage de noms d'objets durant l'affichage des traces
Pour afficher le nom d'un objet au lieu de son identificateur (Object ID), vous devez capturer les colonnes Server Name et Database ID en plus de la colonne Object Name.
Si vous choisissez de regrouper les traces par ID d'objet, assurez-vous de les regrouper d'abord par Nom de serveur et par ID de base de données. De même, si vous choisissez de regrouper les traces par ID d'index, assurez-vous de les regrouper d'abord par Nom de serveur, par ID de base de données et par ID d'objet. Cet ordre doit être respecté parce que les ID d'objet et d'index ne sont pas les mêmes sur tous les serveurs et dans toutes les bases de données (et un objet n'a pas toujours le même ID d'index).
Détection d'événements spécifiques dans une trace
Pour rechercher des événements dans une trace et les regrouper, exécutez les étapes suivantes :
- Créez votre trace.
- Lorsque vous définissez la trace, capturez les colonnes de données Event Class, ClientProcessID et Start Time en plus des autres colonnes de données que vous souhaitez capturer. Pour plus d'informations, consultez Procédure : créer une trace (Générateur de profils SQL Server).
- Regroupez les données capturées sur la colonne Event Class, puis capturez la trace dans un fichier ou une table. Pour regrouper les données capturées, cliquez sur Organiser les colonnes dans l'onglet Sélection des événements de la boîte de dialogue Propriétés de la trace. Pour plus d'informations, consultez Procédure : organiser les colonnes affichées dans une trace (Générateur de profils SQL Server).
- Démarrez la trace et arrêtez-la une fois que la durée spécifiée est écoulée ou que les événements nécessaires ont été capturés.
- Trouvez les événements cibles.
- Ouvrez le fichier ou la table de trace et développez le nœud de la classe d'événements de votre choix, par exemple Deadlock Chain. Pour plus d'informations, consultez Procédure : ouvrir un fichier de trace (Générateur de profils SQL Server) ou Procédure : ouverture d'une table de trace (Générateur de profils SQL Server).
- Parcourez la trace jusqu'à ce que vous trouviez les événements que vous recherchez (pour vous aider, utilisez l'option Rechercher du menu Modifier de Générateur de profils SQL Server). Notez les valeurs contenues dans les colonnes de données ClientProcessID et Start Time des événements de votre choix.
- Affichez les événements en contexte.
- Affichez les propriétés de la trace, et regroupez par ClientProcessID plutôt que par Event Class.
- Développez les nœuds de chaque ID de processus client que vous souhaitez afficher. Parcourez la trace manuellement ou utilisez l'option Rechercher jusqu'à ce que vous trouviez les valeurs Heure de début précédemment notées pour les événements cibles. Les événements sont affichés dans l'ordre chronologique avec les autres événements relatifs à chaque ID de processus client sélectionné. Par exemple, les événements Deadlock et Deadlock Chain, capturés dans la trace, se trouveront immédiatement après les événements SQL:BatchStarting dans l'ID de processus client développé.
La même technique peut être utilisée pour retrouver des événements regroupés. Une fois que vous avez trouvé les événements recherchés, regroupez-les par ClientProcessID, par ApplicationName ou autre afin d'afficher les activités qui y sont liées dans l'ordre chronologique.
Voir aussi
Tâches
Procédure : afficher une trace enregistrée (Transact-SQL)
Procédure : affichage d'informations de filtre (Générateur de profils SQL Server)
Procédure : affichage des informations de filtrage (Transact-SQL)
Procédure : ouvrir un fichier de trace (Générateur de profils SQL Server)
Procédure : ouvrir un fichier de trace (Générateur de profils SQL Server)
Procédure : ouverture d'une table de trace (Générateur de profils SQL Server)
Autres ressources
fn_trace_getinfo (Transact-SQL)
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
12 décembre 2006 |
|
5 décembre 2005 |
|