Dela via


RML-verktyg (Replay Markup Language) för SQL Server

I den här artikeln beskrivs en grupp verktyg som används av supportpersonal för att felsöka Microsoft SQL Server.

Ursprunglig produktversion: SQL Server
Ursprungligt KB-nummer: 944837

Introduktion

SQL Server-supportteamet använder flera internt skrivna verktyg för att bearbeta vanliga kundsupportärenden. Replay Markup Language (RML) Utilities för SQL Server är en särskild verktygssvit som databasutvecklare och systemadministratörer kan använda.

Mer information

Du kan använda RML-verktyg för SQL Server för att utföra följande uppgifter:

  • Ta reda på vilket program, databas, SQL Server-inloggning eller fråga som använder maximalt antal resurser.
  • Avgör om körningsplanen för en batch ändras när du registrerar spårningen för batchen. Dessutom kan du använda RML-verktyg för SQL Server för att avgöra hur SQL Server kör dessa planer.
  • Ta reda på vilka frågor som körs långsamt.

När du har avbildat en spårning för en instans av SQL Server kan du använda RML-verktyg för SQL Server för att spela upp spårningsfilen mot en annan instans av SQL Server. Om du också avbildar spårningen under reprisen kan du använda RML Utilities för SQL Server för att jämföra den nya spårningsfilen med den ursprungliga spårningsfilen. Du kan använda den här tekniken för att testa hur SQL Server beter sig när du har tillämpat ändringarna. Du kan till exempel använda den här tekniken för att testa hur SQL Server beter sig när du har utför följande uppgifter:

  • Installera ett SQL Server Service Pack
  • Installera en SQL Server-snabbkorrigering
  • Uppdatera en lagrad procedur eller en funktion
  • Uppdatera ett index eller skapa ett index

Versionshistorik

Versionsnummer Beskrivning
09.04.0103 Anger den aktuella webbversionen som är tillgänglig från Microsoft Download Center. Den stöder alla versioner av SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 och SQL Server 2008).
09.04.0102 Anger den tidigare webbversionen som är tillgänglig från Microsoft Download Center. Den stöder alla versioner av SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 och SQL Server 2008).
9.04.0100 Anger en tidigare webbversion som är tillgänglig från Microsoft Download Center. Den stöder alla versioner av 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 och SQL Server 2000).
9.04.0098 Anger ett tidigare webbversionspaket som ingår i verktyget Database Experimentation Assistant. Den stöder alla versioner av SQL Server.
9.04.0097 Anger aktuell version som är tillgänglig från SQL Nexus-webbplatsen som stöder alla versioner av SQL Server.
9.04.0051 Är den tidigare webbversionen som är tillgänglig från Microsoft Download Center som stöder SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 och SQL Server 2000.
9.04.0004 Är en tidigare webbversion som stöder SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 och SQL Server 2000.
9.01.0109 Är en tidigare webbversion som stöder SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 och SQL Server 2000.
9.00.0023 Är en tidigare webbversion som stöder SQL Server 2005 och SQL Server 2000.
8.10.0010 Är den första webbversionen som stöder SQL Server 2000 och SQL Server 7.0.

Den aktuella versionen av RML Utilities för SQL Server ersätter alla tidigare versioner. Du måste avinstallera en tidigare version av RML-verktyg för SQL Server innan du installerar den aktuella versionen. Den aktuella versionen av verktygspaketet innehåller viktiga programuppdateringar, förbättrade funktioner (bearbeta .trc - och .xel-filer ) och rapporter samt prestanda- och skalbarhetsförbättringar.

Hämta RML-verktygen för SQL Server

  • RML-verktyg för SQL Server är tillgängliga för nedladdning från Microsoft Download Center.

  • När du har installerat Database Experimentation Assistant hittar du RML-verktygen C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\ (ReadTrace och OStress) i mappen .

Kommentar

Microsoft tillhandahåller RML-verktyg för SQL Server som det är. Microsoft Customer Support Services (CSS) tillhandahåller inte support eller uppdateringar för sviten. Om du har ett förslag eller om du vill rapportera ett fel kan du använda e-postadressen i avsnittet "Problem och hjälp" i hjälpfilen (RML-Help.pdf). Hjälpfilen ingår i RML-verktygen för SQL Server.

Fördelar med RML-verktyg för SQL Server

RML-verktyg för SQL Server är användbara om du vill simulera programtestning när det är opraktiskt eller omöjligt att testa med hjälp av det verkliga programmet. I en testmiljö kan det vara svårt att generera samma användarbelastning som finns i produktionsmiljön. Du kan använda RML-verktyg för SQL Server för att spela upp en produktionsarbetsbelastning i en testmiljö och utvärdera prestandaeffekten av eventuella ändringar. Du kan till exempel testa en uppgradering till SQL Server 2008 eller tillämpningen av ett SQL Server Service Pack. Dessutom kan du använda RML-verktyg för SQL Server för att analysera och jämföra olika omspelningsarbetsbelastningar. Den här typen av regressionsanalys skulle annars vara en svår process som du skulle behöva göra manuellt.

Hjälpfilen innehåller ett snabbstartsavsnitt. Det här avsnittet innehåller en kort övning som bekantar dig med varje RML-verktyg. Om du vill öppna hjälpfilen väljer du Start, pekar på Alla program, pekar på RML-verktyg för SQL Server, pekar på Hjälp och väljer sedan RML-hjälp.

Verktyg i RML-verktyg för SQL Server

RML-verktyg för SQL Server innehåller följande verktyg:

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

En fullständig beskrivning av varje verktyg och exempelanvändning finns i RML-hjälpfilen som ingår i RML-verktyg för SQL Server.

Beroenden för RML-verktyg för SQL Server

Viktigt!

De program som tillhandahålls som en del av RML-verktygspaketet kräver att flera ytterligare kontroller görs tillgängliga.

Beroenden för reporter

Du måste se till att kontrollerna i Rapportgranskaren är tillgängliga antingen i samma mapp som Reporter.exe eller i Den globala sammansättningscachen (GAC). De DLL:er som Reporter.exe kräver är:

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WinForms.dll
  1. De senaste versionerna av RML Utilities innehåller dessa DLL:er i programmappen.

  2. Om det inte är tillgängligt kan du ladda ned dessa DLL:er med hjälp av följande PowerShell-skript:

    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. Du måste ladda ned och installera en ReporterViewer-korrigering för att länkarna i ReadTrace-rapporterna ska fungera korrekt. Om du vill ladda ned ReporterViewer-korrigeringen går du till Microsoft Visual Studio 2010 Service Pack 1 Report Viewer (KB2549864).

Beroenden för Expander

Kontrollera att kontrollerna för komprimering och dekomprimering är tillgängliga antingen i samma mapp som Expander.exe eller i GAC. De DLL:er som Expander.exe kräver är följande:

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

Du kan hämta dessa DLL:er från respektive programvarupaket för leverantörerna:

Beroenden för ReadTrace och Ostress

ReadTrace och Ostress använder ODBC- och OLEDB-drivrutinerna som levereras som en del av den interna SQL Server-klienten. Från och med version 09.04.0103 är RML Utilities-sviten inte bara beroende av SQL Server Native-klienten (SNAC). Den kan använda Microsoft ODBC- eller OLEDB-drivrutinerna i systemet där den är installerad.

Om du planerar att analysera utökade händelsefiler (*.xel) kontrollerar du att Visual C++ 2010 Redistributable är installerat på systemet.

Kända problem och korrigeringar

Problem Åtgärd
ReadTrace får felet "Det går inte att ansluta till den angivna servern. Initial HRESULT: 0x80040154" på datorer där SQL Server inte är installerat eller bara SQL Server 2022 är installerat Åtgärdat i version 09.04.0103. Som en lösning kan du installera SQL Server Native Client eller en annan version av SQL Server. HRESULT 0x80040154 REGDB_E_CLASSNOTREG klass som inte är registrerad är en winerror.h-huvudfil som innebär att en COM-komponent inte är registrerad eftersom den troligen inte är installerad. Det beror på att SQL Server 2022 inte skickar den interna SQL Server-klienten.
ReadTrace påträffar "ERROR: Event runtime check: Detected missing column [cached_text] in event [sp_cache_remove] at event sequence 209494" Åtgärdat i version 09.04.0102. Som en lösning kan du lägga till spårningsflaggor (-T28 -T29) på ReadTrace-kommandoraden.
Reporter stöter på "Det gick inte att läsa in filen eller sammansättningen 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' eller något av dess beroenden. Verifieringen av starka namn misslyckades. (Undantag från HRESULT: 0x8013141A)" Åtgärdat i version 09.04.0102. Som en lösning kan du skapa följande registernyckel för att åsidosätta verifieringen av starka namn: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35.
ReadTrace misslyckas med felet "Det går inte att ansluta till den angivna servern. Inledande HRESULT: 0x80040154". Ostress misslyckas med felet "Det gick inte att upprätta anslutningen. SSL-säkerhetsfel.". Se anvisningar för att installera den interna SQL Server-klienten.
Du stöter på undantaget från ReadTrace "Unhandled Exception: System.IO.FileNotFoundException: Det gick inte att läsa in filen eller sammansättningen "Microsoft.SqlServer.XEvent.Linq.dll" eller något av dess beroenden. Det gick inte att hitta den angivna modulen". Installera Visual C++ 2010 Redistributable

Exempel

Följande exempel visar hur du använder några av RML-verktygen.

Använda ReadTrace.exe för att importera Xevent-data i en databas

Använd ReadTrace.exe för att importera en serie Xevent-filer som samlas in med hjälp av verktyg som PSSDIAG/SQLDiag.exe eller SQL LogScout. Använd parametern -I för att peka på den första .xel-filen som samlades in i tid, om flera filer finns. För alla kommandoradsväxlar använder du ReadTrace.exe /?:

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

Använda Ostress.exe för att stresstesta en fråga

Använd OStress för att skicka en fråga mot en server som kör SQL Server genom att köra 30 samtidiga anslutningar och köra frågan 10 gånger på varje anslutning. För alla kommandoradsväxlar använder du Ostress.exe /?:

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

Ansvarsfriskrivning för tredje part

Microsoft tillhandahåller kontaktinformation från tredje part som hjälper dig att hitta ytterligare information om det här ämnet. Denna kontaktinformation kan ändras utan föregående meddelande. Microsoft garanterar inte att kontaktinformation från tredje part är korrekt.