Condividi tramite


Utilità RML (Replay Markup Language) per SQL Server

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

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

Introduzione

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

Ulteriori informazioni

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

  • Determinare l'applicazione, il database, l'account di accesso di SQL Server o la query che usano 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 le utilità RML per SQL Server per determinare il modo in cui SQL Server esegue questi piani.
  • Determinare le query in esecuzione 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 verificare il comportamento di SQL Server dopo l'applicazione delle modifiche. Ad esempio, è possibile usare questa tecnica per testare il comportamento di SQL Server dopo aver eseguito le attività seguenti:

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

Cronologia versioni

Numero versione Descrizione
09.04.0103 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).
09.04.0102 Indica la versione Web precedente 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 Indica una 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 un pacchetto di versione Web precedente 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 RML Utilities per SQL Server sostituisce tutte le versioni precedenti. È necessario disinstallare qualsiasi versione precedente di RML Utilities per SQL Server prima di installare la versione corrente. La versione corrente della suite di strumenti contiene importanti aggiornamenti software, funzionalità migliorate (elaborare file trc e xel ) e report e miglioramenti delle prestazioni e della scalabilità.

Ottenere le utilità RML per SQL Server

  • Le utilità RML per SQL Server sono disponibili per il download dall'Area download Microsoft.

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

Note

Microsoft fornisce utilità RML per SQL Server così come è. Il Servizio Supporto Tecnico Clienti Microsoft (CSS) non fornisce supporto o aggiornamenti per la famiglia di prodotti. Se si ha un suggerimento o si desidera segnalare un bug, è possibile utilizzare l'indirizzo di posta elettronica nell'argomento "Problemi e assistenza" nel file della Guida (RML Help.pdf). Il file della Guida è incluso con le utilità RML per SQL Server.

Vantaggi delle utilità RML per SQL Server

Le utilità RML per SQL Server sono utili se si vuole simulare il test dell'applicazione quando è poco pratico o impossibile eseguire il test usando l'applicazione reale. In un ambiente di test può essere difficile generare lo stesso carico utente presente nell'ambiente di produzione. È possibile usare le utilità RML per SQL Server per riprodurre un carico di lavoro di produzione in un ambiente di test e valutare l'effetto delle prestazioni di eventuali modifiche. Ad esempio, è possibile testare un aggiornamento a SQL Server 2008 o all'applicazione di un Service Pack di SQL Server. Inoltre, è possibile usare le utilità RML per SQL Server per analizzare e confrontare vari carichi di lavoro di riproduzione. Questo tipo di analisi di regressione sarebbe altrimenti un processo difficile da 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 Guida di RML.

Strumenti nelle utilità RML per SQL Server

Le utilità RML per SQL Server contengono gli strumenti seguenti:

  • ReadTrace
  • Segnalante
  • OStress
  • Agente di controllo OStress Replay (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 le utilità RML per SQL Server

Importante

Le applicazioni fornite come parte della suite di strumenti RML richiedono che siano resi disponibili diversi controlli aggiuntivi.

Dipendenze per reporter

È 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:

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WinForms.dll
  1. Le versioni più recenti di Utilità RML includono queste DLL nella cartella dell'applicazione.

  2. Se non è disponibile, è 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"
    
  3. È necessario scaricare e installare una correzione di ReporterViewer per consentire il corretto funzionamento dei collegamenti all'interno dei report ReadTrace. Per scaricare la correzione di ReporterViewer, passare a 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 di SQL Server Native Client. A partire dalla versione 09.04.0103, la suite RML Utilities non dipende solo da SQL Server Native Client (SNAC). Può usare i driver Microsoft ODBC o OLEDB nel sistema in cui è installato.

Se si prevede di analizzare i file degli eventi estesi (*.xel), assicurarsi che Visual C++ 2010 Redistributable sia installato nel sistema.

Problemi noti e correzioni

Problema Risoluzione
ReadTrace rileva un errore "Impossibile connettersi al server specificato. HRESULT iniziale: 0x80040154" nei computer in cui SQL Server non è installato o viene installato solo SQL Server 2022 Correzione nella versione 09.04.0103. Come soluzione alternativa, è possibile installare SQL Server Native Client o un'altra versione di SQL Server. HRESULT 0x80040154 REGDB_E_CLASSNOTREG Classe non registrata è un file di intestazione winerror.h che significa che un componente COM non è registrato perché probabilmente non è installato. Ciò accade perché SQL Server 2022 non fornisce SQL Server Native Client.
ReadTrace rileva "ERROR: Event runtime check: Detected missing column [cached_text] in event [sp_cache_remove] at event sequence 209494" Correzione nella 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 nella 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 ha esito negativo e viene visualizzato l'errore "Impossibile connettersi al server specificato. HRESULT iniziale: 0x80040154". Ostress non riesce e viene visualizzato l'errore "Tentativo di stabilire la connessione non riuscita. 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 in 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.