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

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

  1. 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"
    
  2. 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 :

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.