Replay Markup Language (RML) Utilities for SQL Server
In diesem Artikel wird eine Gruppe von Tools erläutert, die von Supportexperten zur Problembehandlung bei Microsoft SQL Server verwendet werden.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 944837
Einführung
Das SQL Server-Supportteam verwendet mehrere intern geschriebene Tools, um typische Kundensupportfälle zu verarbeiten. RmL-Hilfsprogramme (Replay Markup Language) für SQL Server sind eine spezielle Toolsuite, die Datenbankentwickler und Systemadministratoren verwenden können.
Weitere Informationen
Sie können RML-Hilfsprogramme für SQL Server verwenden, um die folgenden Aufgaben auszuführen:
- Ermitteln Sie, welche Anwendung, Datenbank, SQL Server-Anmeldung oder Abfrage die maximalen Ressourcen verwendet.
- Bestimmen Sie, ob der Ausführungsplan für einen Batch geändert wird, wenn Sie die Ablaufverfolgung für den Batch erfassen. Darüber hinaus können Sie RML-Hilfsprogramme für SQL Server verwenden, um zu bestimmen, wie SQL Server diese Pläne ausführt.
- Ermitteln Sie, welche Abfragen langsam ausgeführt werden.
Nachdem Sie eine Ablaufverfolgung für eine Instanz von SQL Server erfasst haben, können Sie RML-Hilfsprogramme für SQL Server verwenden, um die Ablaufverfolgungsdatei für eine andere Instanz von SQL Server wiederzugeben. Wenn Sie die Ablaufverfolgung auch während der Wiedergabe erfassen, können Sie RML Utilities für SQL Server verwenden, um die neue Ablaufverfolgungsdatei mit der ursprünglichen Ablaufverfolgungsdatei zu vergleichen. Sie können diese Technik verwenden, um zu testen, wie SICH SQL Server verhält, nachdem Sie Änderungen angewendet haben. Sie können diese Technik beispielsweise verwenden, um zu testen, wie SICH SQL Server verhält, nachdem Sie die folgenden Aufgaben ausgeführt haben:
- Installieren eines SQL Server Service Packs
- Installieren eines SQL Server-Hotfixes
- Aktualisieren einer gespeicherten Prozedur oder einer Funktion
- Aktualisieren eines Indexes oder Erstellen eines Indexes
Versionsverlauf
Versionsnummer | Beschreibung |
---|---|
09.04.0103 | Gibt die aktuelle Webversion an, die im Microsoft Download Center verfügbar ist. Es unterstützt alle veröffentlichten Versionen von SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 und SQL Server 2008). |
09.04.0102 | Gibt die vorherige Webversion an, die im Microsoft Download Center verfügbar ist. Es unterstützt alle veröffentlichten Versionen von SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 und SQL Server 2008). |
9.04.0100 | Gibt eine frühere Webversion an, die im Microsoft Download Center verfügbar ist. Es unterstützt alle veröffentlichten Versionen von 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 und SQL Server 2000). |
9.04.0098 | Gibt ein vorheriges Web release-Paket an, das im Assistent für Datenbankexperimente-Tool enthalten ist. Es unterstützt alle veröffentlichten Versionen von SQL Server. |
9.04.0097 | Gibt die aktuelle Version der SQL Nexus-Website an, die alle veröffentlichten Versionen von SQL Server unterstützt. |
9.04.0051 | Ist die vorherige Webversion, die im Microsoft Download Center verfügbar ist, das SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 und SQL Server 2000 unterstützt. |
9.04.0004 | Ist eine frühere Webversion, die SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 und SQL Server 2000 unterstützt. |
9.01.0109 | Ist eine frühere Webversion, die SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 und SQL Server 2000 unterstützt. |
9.00.0023 | Ist eine frühere Webversion, die SQL Server 2005 und SQL Server 2000 unterstützt. |
8.10.0010 | Ist die erste Webversion, die SQL Server 2000 und SQL Server 7.0 unterstützt. |
Die aktuelle Version von RML Utilities für SQL Server ersetzt alle früheren Versionen. Sie müssen eine frühere Version von RML Utilities für SQL Server deinstallieren, bevor Sie die aktuelle Version installieren. Die aktuelle Version der Tool-Suite enthält wichtige Softwareupdates, verbesserte Features (Prozess-TRC- und .xel-Dateien) sowie Berichte sowie Leistungs- und Skalierbarkeitsverbesserungen.
Abrufen der RML-Dienstprogramme für SQL Server
RML Utilities for SQL Server ist zum Download aus dem Microsoft Download Center verfügbar.
Nachdem Sie die Assistent für Datenbankexperimente installiert haben, finden Sie die RML-Tools (
ReadTrace
undOStress
) imC:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\
Ordner.
Notiz
Microsoft stellt RML-Dienstprogramme für SQL Server wie folgt bereit. Microsoft Customer Support Services (CSS) bietet keine Unterstützung oder Updates für die Suite. Wenn Sie einen Vorschlag haben oder einen Fehler melden möchten, können Sie die E-Mail-Adresse im Thema "Probleme und Unterstützung" in der Hilfedatei (RML Help.pdf) verwenden. Die Hilfedatei ist in den RML-Hilfsprogrammen für SQL Server enthalten.
Vorteile von RML-Dienstprogrammen für SQL Server
RML Utilities for SQL Server ist nützlich, wenn Sie Anwendungstests simulieren möchten, wenn es unpraktisch oder unmöglich ist, mithilfe der realen Anwendung zu testen. In einer Testumgebung kann es schwierig sein, dieselbe Benutzerlast zu generieren, die in der Produktionsumgebung vorhanden ist. Sie können RML-Dienstprogramme für SQL Server verwenden, um einen Produktionsworkload in einer Testumgebung wiederzuverwenden und die Leistung der Änderungen zu bewerten. Sie können beispielsweise ein Upgrade auf SQL Server 2008 oder die Anwendung eines SQL Server Service Packs testen. Darüber hinaus können Sie RML-Hilfsprogramme für SQL Server verwenden, um verschiedene Replay-Workloads zu analysieren und zu vergleichen. Diese Art von Regressionsanalyse wäre andernfalls ein schwieriger Prozess, den Sie manuell ausführen müssen.
Die Hilfedatei enthält ein Schnellstartthema. Dieses Thema enthält eine kurze Übung, die Sie mit jedem RML-Tool vertraut gemacht hat. Um die Hilfedatei zu öffnen, wählen Sie "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf RML-Hilfsprogramme für SQL Server, zeigen Sie auf "Hilfe", und wählen Sie dann "RML-Hilfe" aus.
Tools in RML Utilities for SQL Server
RML Utilities for SQL Server enthält die folgenden Tools:
- ReadTrace
- Melder
- OStress
- OStress Replay Control Agent (ORCA)
Eine vollständige Beschreibung aller Tools und Beispielverwendungen finden Sie in der RML-Hilfedatei, die in RML Utilities für SQL Server enthalten ist.
Abhängigkeiten für RML-Hilfsprogramme für SQL Server
Wichtig
Die Anwendungen, die als Teil der RML-Toolsuite bereitgestellt werden, erfordern, dass mehrere zusätzliche Steuerelemente verfügbar gemacht werden.
Abhängigkeiten für Reporter
Sie müssen sicherstellen, dass die Berichtsanzeige-Steuerelemente entweder im selben Ordner wie Reporter.exe oder im globalen Assemblycache (GAC) verfügbar sind. Die dlLs, die Reporter.exe erfordert, sind:
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
Die neuesten Versionen von RML Utilities enthalten diese DLLs im Anwendungsordner.
Falls nicht verfügbar, können Sie diese DLLs mithilfe des folgenden PowerShell-Skripts herunterladen:
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"
Sie müssen einen ReporterViewer-Fix herunterladen und installieren, um Links innerhalb der ReadTrace-Berichte ordnungsgemäß zu funktionieren. Um den ReporterViewer-Fix herunterzuladen, wechseln Sie zu Microsoft Visual Studio 2010 Service Pack 1 Report Viewer (KB2549864).
Abhängigkeiten für "Expander"
Stellen Sie sicher, dass die Komprimierungs- und Dekomprimierungssteuerelemente entweder im gleichen Ordner wie Expander.exe oder im GAC verfügbar sind. Die dlLs, die Expander.exe erforderlich sind, sind wie folgt:
- BRICOLSOFTZipx64.dll
- UnRar64.dll
- XceedZipX64.dll
Sie können diese DLLs aus den jeweiligen Softwarepaketen der Anbieter beziehen:
https://www.rarlab.com/rar_add.htm – Suchen der dynamischen UnRAR.dll Bibliothek für Windows-Softwareentwickler
Abhängigkeiten für ReadTrace und Ostress
ReadTrace und Ostress verwenden die ODBC- und OLEDB-Treiber, die als Teil des SQL Server Native Client ausgeliefert wurden. Ab Version 09.04.0103 ist die RML Utilities-Suite nicht nur von SQL Server Native Client (SNAC) abhängig. Er kann die Microsoft ODBC- oder OLEDB-Treiber auf dem System verwenden, auf dem es installiert ist.
Wenn Sie beabsichtigen, erweiterte Ereignisdateien (*.xel) zu analysieren, stellen Sie sicher, dass Visual C++ 2010 Redistributable auf dem System installiert ist.
Bekannte Probleme und Korrekturen
Problem | Lösung |
---|---|
ReadTrace tritt auf einen Fehler "Verbindung mit dem angegebenen Server konnte nicht hergestellt werden. Anfängliches HRESULT: 0x80040154" auf Computern, auf denen SQL Server nicht installiert ist oder nur SQL Server 2022 installiert ist | Behoben in Version 09.04.0103. Als Problemumgehung können Sie SQL Server Native Client oder eine andere Version von SQL Server installieren. HRESULT 0x80040154 REGDB_E_CLASSNOTREG Class not registered is a header file winerror.h that means a COM component isn't registered because likely it isn't installed. Dies geschieht, da SQL Server 2022 den SQL Server Native Client nicht ausgeliefert. |
ReadTrace trifft auf "ERROR: Ereignislaufzeitüberprüfung: Fehlende Spalte [cached_text] im Ereignis [sp_cache_remove] bei Ereignissequenz 209494 erkannt" | Behoben in Version 09.04.0102. Als Problemumgehung können Sie der Befehlszeile ReadTrace Ablaufverfolgungskennzeichnungen (-T28 -T29 ) hinzufügen. |
Reporter trifft auf "Datei oder Assembly 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" oder eine ihrer Abhängigkeiten. Fehler bei der Überprüfung des starken Namens. (Ausnahme von HRESULT: 0x8013141A)" | Behoben in Version 09.04.0102. Als Problemumgehung können Sie den folgenden Registrierungsschlüssel erstellen, um die Überprüfung mit starkem Namen außer Kraft zu setzen: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35 |
ReadTrace schlägt mit dem Fehler "Es kann keine Verbindung mit dem angegebenen Server hergestellt werden. Ursprüngliches HRESULT: 0x80040154". Ostress schlägt fehl mit dem Fehler "Fehler beim Herstellen der Verbindung. SSL-Sicherheitsfehler.". | Anweisungen zum Installieren von SQL Server Native Client. |
Die Ausnahme von ReadTrace "Unhandled Exception: System.IO.FileNotFoundException: Datei oder Assembly 'Microsoft.SqlServer.XEvent.Linq.dll' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Das angegebene Modul konnte nicht gefunden werden". | Installieren von Visual C++ 2010 Redistributable |
Beispiele
Die folgenden Beispiele veranschaulichen die Verwendung einiger RML-Tools.
Verwenden von ReadTrace.exe zum Importieren von Xevent-Daten in einer Datenbank
Verwenden Sie ReadTrace.exe , um eine Reihe von Xevent-Dateien zu importieren, die mithilfe von Tools wie PSSDIAG/SQLDiag.exe oder SQL LogFinder gesammelt werden. Verwenden Sie den -I
Parameter, um auf die erste .xel-Datei zu verweisen, die in der Zeit gesammelt wurde, wenn mehrere Dateien vorhanden sind. Verwenden Sie ReadTrace.exe /?
für alle Befehlszeilenoptionen Folgendes:
ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.
Verwenden von Ostress.exe zum Stresstest einer Abfrage
Verwenden Sie OStress, um eine Abfrage an einen Server zu senden, auf dem SQL Server ausgeführt wird, indem Sie 30 gleichzeitige Verbindungen ausführen und die Abfrage 10 Mal für jede Verbindung ausführen. Verwenden Sie Ostress.exe /?
für alle Befehlszeilenoptionen Folgendes:
ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10
Haftungsausschluss für Kontaktinformationen von Drittanbietern
Die Kontaktinformationen zu den in diesem Artikel erwähnten Drittanbietern sollen Ihnen helfen, zusätzliche Informationen zu diesem Thema zu finden. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Sie werden von Microsoft ohne jede Gewähr weitergegeben.