Utilità RML (Replay Markup Language) per SQL Server

Questo articolo illustra un gruppo di strumenti usati dai professionisti del supporto per risolvere i problemi di Microsoft SQL Server.

Versione originale del prodotto: SQL Server
Numero KB originale: 944837

Introduzione

Il team di supporto SQL Server usa diversi strumenti scritti internamente per elaborare i casi di supporto clienti tipici. Replay Markup Language (RML) Utilities for SQL Server è una particolare suite di strumenti che gli sviluppatori di database e gli amministratori di sistema possono usare.

Ulteriori informazioni

È possibile usare utilità RML per SQL Server per eseguire le attività seguenti:

  • Determinare quale applicazione, database, account di accesso SQL Server o query usa le risorse massime.
  • Determinare se il piano di esecuzione per un batch viene modificato quando si acquisisce la traccia per il batch. Inoltre, è possibile usare utilità RML per SQL Server per determinare come SQL Server esegue questi piani.
  • Determinare quali query vengono eseguite lentamente.

Dopo aver acquisito una traccia per un'istanza di SQL Server, è possibile usare Utilità RML per SQL Server per riprodurre il file di traccia su un'altra istanza di SQL Server. Se si acquisisce anche la traccia durante la riproduzione, è possibile usare utilità RML per SQL Server per confrontare il nuovo file di traccia con il file di traccia originale. È possibile usare questa tecnica per testare il comportamento SQL Server dopo l'applicazione delle modifiche. Ad esempio, è possibile usare questa tecnica per testare il comportamento SQL Server dopo aver eseguito le attività seguenti:

  • Installare un Service Pack SQL Server
  • Installare un hotfix SQL Server
  • Aggiornare una stored procedure o una funzione
  • Aggiornare un indice o creare un indice

Cronologia versioni

Numero di versione Descrizione
09.04.0102 Indica la versione Web corrente disponibile nell'Area download Microsoft. Supporta tutte le versioni rilasciate di SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 e SQL Server 2008).
9.04.0100 Versione Web precedente disponibile nell'Area download Microsoft. Supporta tutte le versioni rilasciate di 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 e SQL Server 2000).
9.04.0098 Indica il pacchetto di versione corrente incluso nello strumento Database Experimentation Assistant. Supporta tutte le versioni rilasciate di SQL Server.
9.04.0097 Indica la versione corrente disponibile dal sito SQL Nexus che supporta tutte le versioni rilasciate di SQL Server.
9.04.0051 Versione Web precedente disponibile nell'Area download Microsoft che supporta SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.04.0004 Versione Web precedente che supporta SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.01.0109 Versione Web precedente che supporta SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.00.0023 Versione Web precedente che supporta SQL Server 2005 e SQL Server 2000.
8.10.0010 Versione Web iniziale che supporta SQL Server 2000 e SQL Server 7.0.

La versione corrente di Utilità RML per SQL Server sostituisce le versioni precedenti. È necessario disinstallare qualsiasi versione precedente di Utilità RML per SQL Server prima di installare la versione corrente. La versione corrente della famiglia di strumenti contiene importanti aggiornamenti software, funzionalità migliorate (file con estensione trc e xel di elaborazione) e report e miglioramenti delle prestazioni e della scalabilità.

Ottenere le utilità RML per SQL Server

  • Utilità RML per SQL Server è disponibile per il download dall'Area download Microsoft.

  • Dopo aver installato il Database Experimentation Assistant, nella cartella sono disponibili gli strumenti RML (ReadTrace e OStress).C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\

Nota

Microsoft fornisce utilità RML per SQL Server così come sono. Microsoft Customer Support Services (CSS) non fornisce supporto o aggiornamenti per la suite. Se si ha un suggerimento o si vuole segnalare un bug, è possibile usare l'indirizzo di posta elettronica nell'argomento "Problemi e assistenza" nel file della Guida (RML Help.pdf). Il file della Guida è incluso nelle utilità RML per SQL Server.

Vantaggi delle utilità RML per SQL Server

Utilità RML per SQL Server è utile se si vuole simulare il test dell'applicazione quando non è pratico o impossibile eseguire il test usando l'applicazione reale. In un ambiente di test può essere difficile generare lo stesso carico utente esistente nell'ambiente di produzione. È possibile usare utilità RML per SQL Server per riprodurre un carico di lavoro di produzione in un ambiente di test e valutare l'effetto sulle prestazioni di eventuali modifiche. Ad esempio, è possibile testare un aggiornamento a SQL Server 2008 o l'applicazione di un Service Pack SQL Server. Inoltre, è possibile usare utilità RML per SQL Server per analizzare e confrontare diversi carichi di lavoro di riproduzione. Questo tipo di analisi di regressione sarebbe altrimenti un processo difficile che sarebbe necessario eseguire manualmente.

Il file della Guida contiene un argomento di avvio rapido. Questo argomento include un breve esercizio che consente di acquisire familiarità con ogni strumento RML. Per aprire il file della Guida, selezionare Start, scegliere Tutti i programmi, Utilità RML per SQL Server, Guida e quindi selezionare Guida RML.

Strumenti nelle utilità RML per SQL Server

Utilità RML per SQL Server contiene gli strumenti seguenti:

  • ReadTrace
  • Reporter
  • OStress
  • OStress Replay Control Agent (ORCA)

Per una descrizione completa di ogni strumento e utilizzo di esempio, vedere il file della Guida RML incluso in Utilità RML per SQL Server.

Dipendenze per utilità RML per SQL Server

Importante

Le applicazioni fornite come parte della suite di strumenti RML richiedono la disponibilità di diversi controlli aggiuntivi.

Dipendenze per reporter

  1. È necessario assicurarsi che i controlli visualizzatore report siano disponibili nella stessa cartella di Reporter.exe o nella Global Assembly Cache (GAC). Le DLL richieste Reporter.exe sono le seguenti:

    • Microsoft.ReportViewer.Common.dll
    • Microsoft.ReportViewer.DataVisualization.dll
    • Microsoft.ReportViewer.ProcessingObjectModel.dll
    • Microsoft.ReportViewer.WinForms.dll

    È possibile scaricare queste DLL usando lo script di PowerShell seguente:

    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. È necessario scaricare e installare una correzione ReporterViewer per consentire il corretto funzionamento dei collegamenti all'interno dei report ReadTrace. Per scaricare la correzione di ReporterViewer, passare a Visualizzatore report di Microsoft Visual Studio 2010 Service Pack 1 (KB2549864).To download the ReporterViewer fix, go to Microsoft Visual Studio 2010 Service Pack 1 Report Viewer (KB2549864).

Dipendenze per Expander

Assicurarsi che i controlli di compressione e decompressione siano disponibili nella stessa cartella di Expander.exe o nella GAC. Le DLL richieste Expander.exe sono le seguenti:

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

È possibile ottenere queste DLL dai rispettivi pacchetti software dei fornitori:

Dipendenze per ReadTrace e Ostress

ReadTrace e Ostress usano i driver ODBC e OLEDB forniti come parte del SQL Server Native Client. Se si prevede di analizzare i file di eventi estesi (*.xel), assicurarsi che Visual C++ 2010 Redistributable sia installato nel sistema.

Problemi noti e correzioni

Problema Risoluzione
ReadTrace rileva "ERROR: Event runtime check: Detected missing column [cached_text] in event [sp_cache_remove] at event sequence 209494" Correzione della versione 09.04.0102. Come soluzione alternativa, è possibile aggiungere flag di traccia (-T28 -T29) alla riga di comando ReadTrace.
Il reporter rileva "Impossibile caricare il file o l'assembly 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' o una delle relative dipendenze. Convalida del nome sicuro non riuscita. (Eccezione da HRESULT: 0x8013141A)" Correzione della versione 09.04.0102. Come soluzione alternativa, è possibile creare la chiave del Registro di sistema seguente per eseguire l'override della verifica del nome sicuro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35.
ReadTrace non riesce con l'errore "Impossibile connettersi al server specificato. HRESULT iniziale: 0x80040154". Ostress ha esito negativo con errore "Tentativo di stabilire la connessione non riuscito. Errore di sicurezza SSL.". Vedere le istruzioni per installare SQL Server Native Client.
Si verifica l'eccezione di ReadTrace "Eccezione non gestita: System.IO.FileNotFoundException: Impossibile caricare il file o l'assembly 'Microsoft.SqlServer.XEvent.Linq.dll' o una delle relative dipendenze. Impossibile trovare il modulo specificato". Installare Visual C++ 2010 Redistributable

Esempi

Gli esempi seguenti illustrano come usare alcuni degli strumenti RML.

Uso di ReadTrace.exe per importare dati Xevent in un database

Usare ReadTrace.exe per importare una serie di file Xevent raccolti usando strumenti come PSSDIAG/SQLDiag.exe o SQL LogScout. Usare il -I parametro per puntare al primo file con estensione xel raccolto nel tempo, se sono presenti più file. Per tutte le opzioni della riga di comando, usare ReadTrace.exe /?:

ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.

Uso di Ostress.exe per testare lo stress di una query

Usare OStress per inviare una query su un server che esegue SQL Server eseguendo 30 connessioni simultanee ed eseguendo la query 10 volte su ogni connessione. Per tutte le opzioni della riga di comando, usare Ostress.exe /?:

ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10

Dichiarazione di non responsabilità di contatti di terze parti

Microsoft fornisce informazioni di contatto di terze parti per aiutarti a trovare ulteriori informazioni su questo argomento. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni di contatto di terze parti.