Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Azure SQL Managed Instance
Utilisez SQL Server Profiler pour afficher les données d'événement capturées dans une trace. SQL Server Profiler affiche les données selon les propriétés de trace définies. L’une des façons d'analyser les données de SQL Server consiste à les copier dans un autre programme, par exemple SQL Server ou l'Assistant Paramétrage du Moteur de base de données . Moteur de base de données L’Assistant Paramétrage peut utiliser un fichier de trace qui contient des événements de traitement SQL et d’appels de procédures distantes si la colonne de données Text est présente dans la trace. Pour être sûr 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 SQL Server Profiler.
Lorsque vous ouvrez une trace à l’aide de SQL Server Profiler, le fichier de trace n’a pas besoin d’avoir l’extension de fichier .trc si le fichier a été créé par SQL Server Profiler ou par des procédures stockées système SQL Trace.
SQL Server Profiler peut également lire les fichiers trace .log
SQL et les fichiers de script SQL génériques. Lors de l’ouverture d’un fichier trace SQL .log
qui n’a pas d’extension .log
de fichier, par trace.txt
exemple, spécifiez SQLTrace_Log comme format de fichier.
Vous pouvez configurer le format d'horodatage du SQL Server Profiler pour vous aider dans l'analyse des traces.
Résoudre les problèmes de données
Le SQL Server Profilervous permet de résoudre des problèmes de données en regroupant les traces ou les fichiers de traces dans quatre colonnes : Duration, CPU, Readset 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);
Le serveur signale la durée d’un événement en microsecondes (10^-6 secondes) et le temps UC utilisé par l’événement en millisecondes (10^-3 secondes). L'interface utilisateur graphique de SQL Server Profiler affiche par défaut la colonne Durée en millisecondes. Cependant, 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. Ces mesures sont destinées aux requêtes Transact-SQL (T-SQL).
Afficher des noms d’objets lors de 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 Object ID , assurez-vous de les regrouper d’abord par Server Name et par Database ID , puis par Object ID . De même, si vous choisissez de regrouper les traces par Index ID , assurez-vous de les regrouper d’abord par Server Name, Database IDet Object ID , puis par Index ID . Vous devez regrouper dans cet ordre, car les ID d’objet et d’index ne sont pas uniques entre les serveurs et les bases de données (et entre les objets pour les ID d’index).
Rechercher des é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, ClientProcessIDet Start Time en plus des autres colonnes de données que vous souhaitez capturer. Pour plus d’informations, consultez Créer une trace (SQL Server Profiler).
Regroupez les données capturées par la colonne de données de la classe d’événements et capturez la trace dans un fichier ou une table. Pour regrouper les données capturées, sélectionnez Organiser les colonnes sous l’onglet Sélection des événements de la boîte de dialogue Propriétés de la trace. Pour plus d’informations, consultez Organiser les colonnes affichées dans une trace (SQL Server Profiler).
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 Ouvrir un fichier de trace (SQL Server Profiler) ou Ouvrir une table de trace (SQL Server Profiler).
Recherchez les données de trace jusqu’à ce que vous trouviez les événements pour lesquels vous recherchez (utilisez la commande Rechercher dans le menu Modifier de SQL Server Profiler pour vous aider à trouver des valeurs dans la trace). 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 trace et regroupez-les par la colonne de données ClientProcessID plutôt que par la colonne de données de classe d’événements .
Développez les nœuds de chaque ID de processus client que vous souhaitez afficher. Recherchez manuellement la trace ou utilisez Rechercher jusqu’à ce que vous trouviez les valeurs d’heure de début indiquées précédemment des é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, apparaissent 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, ApplicationName, ou autre classe d’événements pour afficher les activités qui y sont liées dans l’ordre chronologique.
Contenu connexe
- Obtenir des informations sur une trace enregistrée (Transact-SQL)
- sys.fn_trace_getinfo (Transact-SQL)
- Afficher les informations de filtre (SQL Server Profiler)
- Afficher des informations de filtrage (Transact-SQL)
- Ouvrir un fichier de trace (SQL Server Profiler)
- Ouvrir une table de trace (SQL Server Profiler)