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 de Microsoft SQL Server.

Version du produit d’origine : SQL Server
Numéro de base de connaissances d’origine : 944837

Introduction

L’équipe de support SQL Server utilise plusieurs outils écrits en interne pour aider à 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 pour effectuer les tâches suivantes :

  • Déterminez l’application, la base de données, la connexion SQL Server ou la requête qui utilise les ressources maximales.
  • 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 des utilitaires RML pour SQL Server pour 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 pour relire le fichier de trace sur une autre instance de SQL Server. Si vous capturez également la trace pendant la relecture, vous pouvez utiliser les utilitaires RML pour SQL Server pour comparer le nouveau fichier de trace au fichier de trace d’origine. Vous pouvez utiliser cette technique pour tester le comportement de 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 effectué 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.0103 Indique la version web actuelle disponible à partir du 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).
09.04.0102 Indique la version web précédente disponible à partir du 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 Indique une version web précédente disponible à partir du 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 un package de mise en production web précédent inclus dans 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 à partir du Centre de téléchargement Microsoft 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.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 une 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 l’extensibilité.

Obtenir les utilitaires RML pour SQL Server

  • Les utilitaires RML pour SQL Server sont disponibles en téléchargement à 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 (ReadTraceet OStress) dans le C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\ dossier.

Note

Microsoft fournit des utilitaires RML pour SQL Server comme c’est le cas. Les services de support technique Microsoft (CSS) ne fournissent pas de support ni de mises à jour pour la suite. Si vous avez une suggestion ou si vous souhaitez signaler un bogue, vous pouvez utiliser l’adresse e-mail dans la rubrique « Problèmes et assistance » dans le 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 n’est pas pratique ou impossible de tester à l’aide de l’application réelle. Dans un environnement de test, il peut être difficile de générer la charge utilisateur qui existe dans l’environnement de production. Vous pouvez utiliser les utilitaires RML pour SQL Server pour relire une charge de travail de production dans un environnement de test et évaluer l’effet de 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 pour analyser et 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 de démarrage rapide. Cette rubrique comprend un bref exercice qui vous familiarise avec chaque outil RML. Pour ouvrir le fichier d’aide, sélectionnez Démarrer, pointez sur Tous les programmes, pointez sur Utilitaires RML pour SQL Server, pointez 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
  • Avertisseur
  • OStress
  • OStress Replay Control Agent (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 pour les utilitaires RML pour SQL Server

Important

Les applications fournies dans le cadre de la suite d’outils RML nécessitent la disponibilité 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 par Reporter.exe sont les suivantes :

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WinForms.dll
  1. Les dernières versions des utilitaires RML incluent ces DLL dans le dossier d’application.

  2. Si ce n’est pas disponible, 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"
    
  3. Vous devez télécharger et installer un correctif ReporterViewer pour autoriser les liens dans les rapports ReadTrace à fonctionner correctement. Pour télécharger le correctif ReporterViewer, accédez à Microsoft Visual Studio 2010 Service Pack 1 Report Viewer (KB2549864).

Dépendances pour expandeur

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 par Expander.exe sont les suivantes :

  • BRICOLSOFTZipx64.dll
  • UnRar64.dll
  • XceedZipX64.dll

Vous pouvez obtenir ces DLL à partir des packages logiciels respectifs des fournisseurs :

Dépendances pour ReadTrace et Ostress

ReadTrace et Ostress utilisent les pilotes ODBC et OLEDB fournis dans le cadre de SQL Server Native Client. À compter de la version 09.04.0103, la suite d’utilitaires RML ne dépend pas uniquement de SQL Server Native Client (SNAC). Il peut utiliser les pilotes Microsoft ODBC ou OLEDB sur le système où il est installé.

Si vous envisagez d’analyser les fichiers d’événements étendus (*.xel), vérifiez que Visual C++ 2010 Redistributable est installé sur le système.

Les problèmes connus et les corrections

Problème Résolution
ReadTrace rencontre une erreur « Impossible de se connecter au serveur spécifié. HRESULT initial : 0x80040154 » sur les machines où SQL Server n’est pas installé ou uniquement SQL Server 2022 est installé Correction dans la version 09.04.0103. Pour contourner ce problème, vous pouvez installer SQL Server Native Client ou une autre version de SQL Server. HRESULT 0x80040154 REGDB_E_CLASSNOTREG Classe non inscrite est un fichier d’en-tête winerror.h , ce qui signifie qu’un composant COM n’est pas inscrit, car il n’est probablement pas installé. Cela se produit parce que SQL Server 2022 n’est pas fourni à SQL Server Native Client.
ReadTrace rencontre « ERROR : Event runtime check : Détection d’une colonne manquante [cached_text] dans l’événement [sp_cache_remove] lors de la séquence d’événements 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.
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 de 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 de nom fort : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35.
ReadTrace échoue 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 d’installation de 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 comment utiliser certains des 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 tester une requête

Utilisez OStress pour envoyer une requête sur un serveur exécutant 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 changer sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.