Relecture des utilitaires RML (Replay Markup Language) pour SQL Server
Cet article décrit un groupe d’outils utilisés par les professionnels du support technique pour résoudre les problèmes liés à Microsoft SQL Server.
Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 944837
Introduction
L’équipe de support SQL Server utilise plusieurs outils écrits en interne pour traiter les cas de support client classiques. Les utilitaires RML (Replay Markup Language) pour SQL Server sont une suite d’outils particulière que les développeurs de bases de données et les administrateurs système peuvent utiliser.
Plus d’informations
Vous pouvez utiliser les utilitaires RML pour SQL Server effectuer les tâches suivantes :
- Déterminez quelle application, base de données, SQL Server connexion ou requête utilise le nombre maximal de ressources.
- Déterminez si le plan d’exécution d’un lot est modifié lorsque vous capturez la trace du lot. En outre, vous pouvez utiliser les utilitaires RML pour SQL Server afin de déterminer comment SQL Server exécute ces plans.
- Déterminez les requêtes qui s’exécutent lentement.
Après avoir capturé une trace pour une instance de SQL Server, vous pouvez utiliser les utilitaires RML pour SQL Server afin de relire le fichier de trace par rapport à un autre instance de SQL Server. Si vous capturez également la trace pendant la relecture, vous pouvez utiliser les utilitaires RML pour SQL Server comparer le nouveau fichier de trace au fichier de trace d’origine. Vous pouvez utiliser cette technique pour tester le comportement SQL Server après avoir appliqué des modifications. Par exemple, vous pouvez utiliser cette technique pour tester le comportement de SQL Server après avoir fait les tâches suivantes :
- Installer un Service Pack SQL Server
- Installer un correctif logiciel SQL Server
- Mettre à jour une procédure stockée ou une fonction
- Mettre à jour un index ou créer un index
Historique des versions
Numéro de version | Description |
---|---|
09.04.0102 | Indique la version web actuelle disponible dans le Centre de téléchargement Microsoft. Il prend en charge toutes les versions publiées de SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 et SQL Server 2008). |
9.04.0100 | Version web précédente disponible dans le Centre de téléchargement Microsoft. Il prend en charge toutes les versions publiées de SQL Server (SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 et SQL Server 2000). |
9.04.0098 | Indique le package de mise en production actuel inclus avec l’outil Assistant Expérimentation de base de données. Il prend en charge toutes les versions publiées de SQL Server. |
9.04.0097 | Indique la version actuelle disponible à partir du site SQL Nexus qui prend en charge toutes les versions publiées de SQL Server. |
9.04.0051 | Version web précédente disponible dans le Centre de téléchargement Microsoft qui prend en charge les SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 et SQL Server 2000. |
9.04.0004 | Version web précédente qui prend en charge SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 et SQL Server 2000. |
9.01.0109 | Version web précédente qui prend en charge SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 et SQL Server 2000. |
9.00.0023 | Version web précédente qui prend en charge SQL Server 2005 et SQL Server 2000. |
8.10.0010 | Version web initiale qui prend en charge SQL Server 2000 et SQL Server 7.0. |
La version actuelle des utilitaires RML pour SQL Server remplace toutes les versions antérieures. Vous devez désinstaller toute version antérieure des utilitaires RML pour SQL Server avant d’installer la version actuelle. La version actuelle de la suite d’outils contient des mises à jour logicielles importantes, des fonctionnalités améliorées (traiter les fichiers .trc et .xel ) et des rapports, ainsi que des améliorations des performances et de la scalabilité.
Obtenir les utilitaires RML pour SQL Server
Les utilitaires RML pour SQL Server peuvent être téléchargés à partir du Centre de téléchargement Microsoft.
Après avoir installé le Assistant Expérimentation de base de données, vous trouverez les outils RML (
ReadTrace
etOStress
) dans leC:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\
dossier .
Remarque
Microsoft fournit des utilitaires RML pour SQL Server tels qu’ils sont. Les services de support technique Microsoft (CSS) ne fournissent pas de support ou de mise à jour pour la suite. Si vous avez une suggestion ou si vous souhaitez signaler un bogue, vous pouvez utiliser l’adresse de messagerie dans la rubrique « Problèmes et assistance » du fichier d’aide (RML Help.pdf). Le fichier d’aide est inclus dans les utilitaires RML pour SQL Server.
Avantages des utilitaires RML pour SQL Server
Les utilitaires RML pour SQL Server sont utiles si vous souhaitez simuler des tests d’application lorsqu’il est peu pratique ou impossible à tester à l’aide de l’application réelle. Dans un environnement de test, il peut être difficile de générer la même charge utilisateur que celle qui existe dans l’environnement de production. Vous pouvez utiliser les utilitaires RML pour SQL Server relire une charge de travail de production dans un environnement de test et évaluer l’effet sur les performances des modifications. Par exemple, vous pouvez tester une mise à niveau vers SQL Server 2008 ou l’application d’un Service Pack SQL Server. En outre, vous pouvez utiliser les utilitaires RML pour SQL Server afin d’analyser et de comparer différentes charges de travail de relecture. Ce type d’analyse de régression serait autrement un processus difficile que vous devrez effectuer manuellement.
Le fichier d’aide contient une rubrique Démarrage rapide. Cette rubrique comprend un bref exercice qui vous familiarisera avec chaque outil RML. Pour ouvrir le fichier d’aide, sélectionnez Démarrer, pointez sur Tous les programmes, sur Utilitaires RML pour SQL Server, sur Aide, puis sélectionnez Aide RML.
Outils dans les utilitaires RML pour SQL Server
Les utilitaires RML pour SQL Server contiennent les outils suivants :
- ReadTrace
- Journaliste
- OStress
- Agent de contrôle OStress Replay (ORCA)
Pour obtenir une description complète de chaque outil et des exemples d’utilisation, consultez le fichier d’aide RML inclus dans les utilitaires RML pour SQL Server.
Dépendances des utilitaires RML pour SQL Server
Importante
Les applications fournies dans le cadre de la suite d’outils RML nécessitent la mise à disposition de plusieurs contrôles supplémentaires.
Dépendances pour Reporter
Vous devez vous assurer que les contrôles visionneuse de rapports sont disponibles dans le même dossier que Reporter.exe ou dans le Global Assembly Cache (GAC). Les DLL requises parReporter.exe sont les suivantes :
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
Vous pouvez télécharger ces DLL à l’aide du script PowerShell suivant :
Register-PackageSource -Name MyNuGet -Location https://www.nuget.org/api/v2 -ProviderName NuGet Get-PackageSource Find-Package Microsoft.ReportViewer.Common -AllVersions Install-Package Microsoft.ReportViewer.Common -RequiredVersion 10.0.40219.1 Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.Common.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils" Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.DataVisualization.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils" Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.ProcessingObjectModel.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils" Find-Package Microsoft.ReportViewer.WinForms -AllVersions Install-Package Microsoft.ReportViewer.WinForms -RequiredVersion 10.0.40219.1 Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.WinForms.10.0.40219.1\lib\Microsoft.ReportViewer.WinForms.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
Vous devez télécharger et installer un correctif ReporterViewer pour permettre aux liens dans les rapports ReadTrace de fonctionner correctement. Pour télécharger le correctif ReporterViewer, accédez à Visionneuse de rapports Microsoft Visual Studio 2010 Service Pack 1 (KB2549864).
Dépendances pour expander
Assurez-vous que les contrôles de compression et de décompression sont disponibles dans le même dossier que Expander.exe ou dans le GAC. Les DLL requises parExpander.exe sont les suivantes :
- BRICOLSOFTZipx64.dll
- UnRar64.dll
- XceedZipX64.dll
Vous pouvez obtenir ces DLL à partir des packages logiciels respectifs des fournisseurs :
https://www.rarlab.com/rar_add.htm - rechercher la bibliothèque dynamiqueUnRAR.dll pour les développeurs de logiciels Windows
Dépendances pour ReadTrace et Ostress
ReadTrace et Ostress utilisent les pilotes ODBC et OLEDB fournis dans le cadre de la SQL Server Native Client. Si vous envisagez d’analyser les fichiers d’événements étendus (*.xel), assurez-vous que Visual C++ 2010 Redistributable est installé sur le système.
Problèmes connus et correctifs
Problème | Résolution |
---|---|
ReadTrace rencontre « ERROR : Event Runtime case activée : Detected missing column [cached_text] in event [sp_cache_remove] at event sequence 209494 » | Correction dans la version 09.04.0102. Pour contourner ce problème, vous pouvez ajouter des indicateurs de trace (-T28 -T29 ) à la ligne de commande ReadTrace. |
Le reporter rencontre « Impossible de charger le fichier ou l’assembly 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou l’une de ses dépendances. Échec de la validation du nom fort. (Exception de HRESULT : 0x8013141A) » | Correction dans la version 09.04.0102. Pour contourner ce problème, vous pouvez créer la clé de Registre suivante pour remplacer la vérification du nom fort : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35 . |
Échec de ReadTrace avec l’erreur « Impossible de se connecter au serveur spécifié. HRESULT initial : 0x80040154 ». Ostress échoue avec l’erreur « Échec de la tentative d’établissement de la connexion. Erreur de sécurité SSL. » | Consultez les instructions pour Installer SQL Server Native Client. |
Vous rencontrez l’exception de ReadTrace « Exception non gérée : System.IO.FileNotFoundException : impossible de charger le fichier ou l’assembly 'Microsoft.SqlServer.XEvent.Linq.dll' ou l’une de ses dépendances. Impossible de trouver le module spécifié. » | Installer Visual C++ 2010 Redistributable |
Exemples
Les exemples suivants illustrent l’utilisation de certains outils RML.
Utilisation de ReadTrace.exe pour importer des données Xevent dans une base de données
Utilisez ReadTrace.exe pour importer une série de fichiers Xevent collectés à l’aide d’outils tels que PSSDIAG/SQLDiag.exe ou SQL LogScout. Utilisez le -I
paramètre pour pointer vers le premier fichier .xel collecté dans le temps, si plusieurs fichiers sont présents. Pour tous les commutateurs de ligne de commande, utilisez ReadTrace.exe /?
:
ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.
Utilisation de Ostress.exe pour effectuer un test de contrainte d’une requête
Utilisez OStress pour envoyer une requête sur un serveur qui exécute SQL Server en exécutant 30 connexions simultanées et en exécutant la requête 10 fois sur chaque connexion. Pour tous les commutateurs de ligne de commande, utilisez Ostress.exe /?
:
ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10
Exclusion de responsabilité sur les coordonnées externes
Microsoft fournit des informations de contacts externes afin de vous aider à obtenir un support technique sur ce sujet. Ces informations de contact peuvent être modifiées sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.