Narzędzia replay Markup Language (RML) dla programu SQL Server
W tym artykule omówiono grupę narzędzi używanych przez specjalistów pomocy technicznej do rozwiązywania problemów z programem Microsoft SQL Server.
Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 944837
Wprowadzenie
Zespół pomocy technicznej programu SQL Server używa kilku wewnętrznie napisanych narzędzi, aby ułatwić przetwarzanie typowych przypadków pomocy technicznej klienta. Narzędzia replay Markup Language (RML) dla programu SQL Server to jeden konkretny pakiet narzędzi, którego mogą używać deweloperzy baz danych i administratorzy systemu.
Więcej informacji
Aby wykonać następujące zadania, można użyć narzędzi RML dla programu SQL Server:
- Określ, która aplikacja, baza danych, identyfikator logowania lub zapytanie programu SQL Server korzystają z maksymalnych zasobów.
- Ustal, czy plan wykonania partii został zmieniony podczas przechwytywania śladu dla partii. Ponadto można użyć narzędzi RML dla programu SQL Server, aby określić sposób uruchamiania tych planów przez program SQL Server.
- Ustal, które zapytania działają powoli.
Po przechwyceniu śladu dla wystąpienia programu SQL Server można użyć narzędzi RML dla programu SQL Server, aby odtworzyć plik śledzenia w innym wystąpieniu programu SQL Server. Jeśli przechwycisz również ślad podczas odtwarzania, możesz użyć narzędzi RML dla programu SQL Server, aby porównać nowy plik śledzenia z oryginalnym plikiem śledzenia. Ta technika służy do testowania zachowania programu SQL Server po zastosowaniu zmian. Możesz na przykład użyć tej techniki, aby przetestować zachowanie programu SQL Server po wykonaniu następujących zadań:
- Instalowanie dodatku Service Pack programu SQL Server
- Instalowanie poprawki programu SQL Server
- Aktualizowanie procedury składowanej lub funkcji
- Aktualizowanie indeksu lub tworzenie indeksu
Historia wersji
Numer wersji | opis |
---|---|
09.04.0103 | Wskazuje bieżącą wersję internetową dostępną w Centrum pobierania Microsoft. Obsługuje wszystkie wydane wersje programu SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 i SQL Server 2008). |
09.04.0102 | Wskazuje poprzednią wersję internetową dostępną w Centrum pobierania Microsoft. Obsługuje wszystkie wydane wersje programu SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 i SQL Server 2008). |
9.04.0100 | Wskazuje poprzednią wersję internetową dostępną w Centrum pobierania Microsoft. Obsługuje wszystkie wydane wersje programu 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 i SQL Server 2000). |
9.04.0098 | Wskazuje poprzedni pakiet wersji internetowej dołączony do narzędzia Asystent eksperymentowania z bazą danych. Obsługuje wszystkie wydane wersje programu SQL Server. |
9.04.0097 | Wskazuje bieżącą wersję dostępną w witrynie PROGRAMU SQL Nexus, która obsługuje wszystkie wydane wersje programu SQL Server. |
9.04.0051 | Jest poprzednią wersją internetową dostępną w Centrum pobierania Microsoft, który obsługuje programy SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 i SQL Server 2000. |
9.04.0004 | Jest poprzednią wersją internetową, która obsługuje programy SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 i SQL Server 2000. |
9.01.0109 | Jest poprzednią wersją internetową, która obsługuje programy SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 i SQL Server 2000. |
9.00.0023 | Jest poprzednią wersją internetową, która obsługuje programy SQL Server 2005 i SQL Server 2000. |
8.10.0010 | To początkowa wersja internetowa obsługująca programy SQL Server 2000 i SQL Server 7.0. |
Bieżąca wersja narzędzi RML dla programu SQL Server zastępuje wszystkie wcześniejsze wersje. Przed zainstalowaniem bieżącej wersji należy odinstalować wszystkie starsze wersje programów narzędziowych RML dla programu SQL Server. Bieżąca wersja pakietu narzędzi zawiera ważne aktualizacje oprogramowania, ulepszone funkcje (proces plików trc i xel ) oraz raporty oraz ulepszenia wydajności i skalowalności.
Uzyskiwanie narzędzi RML dla programu SQL Server
Narzędzia RML dla programu SQL Server są dostępne do pobrania z Centrum pobierania Microsoft.
Po zainstalowaniu Asystent eksperymentowania z bazą danych narzędzia RML (
ReadTrace
iOStress
) znajdują się w folderzeC:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\
.
Uwaga 16.
Firma Microsoft udostępnia narzędzia RML dla programu SQL Server, tak jak to jest. Usługi obsługi klienta firmy Microsoft (CSS) nie zapewniają pomocy technicznej ani aktualizacji pakietu. Jeśli masz sugestię lub chcesz zgłosić usterkę, możesz użyć adresu e-mail w temacie "Problemy i pomoc" w pliku Pomocy (RML Help.pdf). Plik Pomocy jest dołączony do narzędzi RML dla programu SQL Server.
Zalety narzędzi RML dla programu SQL Server
Narzędzia RML dla programu SQL Server są przydatne, jeśli chcesz symulować testowanie aplikacji, gdy jest niepraktyczne lub niemożliwe do przetestowania przy użyciu rzeczywistej aplikacji. W środowisku testowym może być trudno wygenerować to samo obciążenie użytkownika, które istnieje w środowisku produkcyjnym. Można użyć narzędzi RML dla programu SQL Server, aby odtworzyć obciążenie produkcyjne w środowisku testowym i ocenić wpływ na wydajność wszelkich zmian. Można na przykład przetestować uaktualnienie do programu SQL Server 2008 lub aplikację dodatku Service Pack programu SQL Server. Ponadto można użyć narzędzi RML dla programu SQL Server do analizowania i porównywania różnych obciążeń odtwarzania. Tego rodzaju analiza regresji byłaby w przeciwnym razie trudnym procesem, który trzeba wykonać ręcznie.
Plik Pomocy zawiera temat Szybki start. Ten temat zawiera krótkie ćwiczenie, które zapoznaje się z każdym narzędziem języka RML. Aby otworzyć plik Pomocy, wybierz pozycję Start, wskaż pozycję Wszystkie programy, wskaż pozycję Narzędzia RML dla programu SQL Server, wskaż pozycję Pomoc, a następnie wybierz pozycję Pomoc języka RML.
Narzędzia w programach narzędziowych RML dla programu SQL Server
Narzędzia RML dla programu SQL Server zawierają następujące narzędzia:
- ReadTrace
- Osoba zgłaszająca
- OStress
- Agent kontroli odtwarzania OStress (ORCA)
Pełny opis każdego narzędzia i przykładowego użycia można znaleźć w pliku Pomocy języka RML, który znajduje się w narzędziach języka RML dla programu SQL Server.
Zależności dla narzędzi RML dla programu SQL Server
Ważne
Aplikacje udostępniane w ramach pakietu narzędzi RML wymagają udostępnienia kilku dodatkowych kontrolek.
Zależności dla reportera
Należy upewnić się, że kontrolki Podgląd raportów są dostępne w tym samym folderze co Reporter.exe lub w globalnej pamięci podręcznej zestawów (GAC). Biblioteki DLL, które Reporter.exe wymagają:
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
Najnowsze wersje narzędzi RML obejmują te biblioteki DLL w folderze aplikacji.
Jeśli nie są dostępne, możesz pobrać te biblioteki DLL przy użyciu następującego skryptu programu PowerShell:
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"
Należy pobrać i zainstalować poprawkę programu ReporterViewer, aby umożliwić prawidłowe działanie linków w raportach ReadTrace. Aby pobrać poprawkę programu ReporterViewer, przejdź do programu Microsoft Visual Studio 2010 Service Pack 1 Report Viewer (KB2549864).
Zależności dla ekspandera
Upewnij się, że kontrolki kompresji i dekompresji są dostępne w tym samym folderze co Expander.exe lub w GAC. Biblioteki DLL, które Expander.exe wymagają, są następujące:
- BRICOLSOFTZipx64.dll
- UnRar64.dll
- XceedZipX64.dll
Te biblioteki DLL można uzyskać z odpowiednich pakietów oprogramowania dostawców:
https://www.rarlab.com/rar_add.htm — znajdź bibliotekę dynamiczną UnRAR.dll dla deweloperów oprogramowania systemu Windows
Zależności dla funkcji ReadTrace i Ostress
Narzędzie ReadTrace i Ostress używają sterowników ODBC i OLEDB dostarczanych jako część klienta natywnego programu SQL Server. Począwszy od wersji 09.04.0103, pakiet narzędzi RML nie jest zależny tylko od klienta natywnego programu SQL Server (SNAC). Może używać sterowników Microsoft ODBC lub OLEDB w systemie, w którym jest zainstalowany.
Jeśli planujesz przeanalizować pliki zdarzeń rozszerzonych (*.xel), upewnij się, że pakiet redystrybucyjny Visual C++ 2010 jest zainstalowany w systemie.
Znane problemy i poprawki
Problem | Rozwiązanie |
---|---|
Funkcja ReadTrace napotka błąd "Nie można nawiązać połączenia z określonym serwerem. Initial HRESULT: 0x80040154" na maszynach, na których program SQL Server nie jest zainstalowany lub zainstalowano tylko program SQL Server 2022 | Naprawiono w wersji 09.04.0103. Aby obejść ten problem, możesz zainstalować klienta natywnego programu SQL Server lub inną wersję programu SQL Server. HrESULT 0x80040154 REGDB_E_CLASSNOTREG Klasa niezarejestrowana jest plikiem nagłówkowym winerror.h , co oznacza, że składnik COM nie jest zarejestrowany, ponieważ prawdopodobnie nie jest zainstalowany. Dzieje się tak, ponieważ program SQL Server 2022 nie dostarcza klienta natywnego programu SQL Server. |
ReadTrace napotka błąd "BŁĄD: sprawdzanie środowiska uruchomieniowego zdarzenia: Wykryto brakującą kolumnę [cached_text] w przypadku [sp_cache_remove] w sekwencji zdarzeń 209494" | Naprawiono w wersji 09.04.0102. Aby obejść ten problem, można dodać flagi śledzenia (-T28 -T29 ) do wiersza polecenia ReadTrace. |
Reporter napotka błąd "Nie można załadować pliku lub zestawu "Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" lub jednej z jego zależności. Weryfikacja silnej nazwy nie powiodła się. (Wyjątek od HRESULT: 0x8013141A)" | Naprawiono w wersji 09.04.0102. Aby obejść ten problem, możesz utworzyć następujący klucz rejestru, aby zastąpić weryfikację silnej nazwy: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35 . |
Błąd ReadTrace kończy się niepowodzeniem z powodu błędu "Nie można nawiązać połączenia z określonym serwerem. Początkowa wartość HRESULT: 0x80040154". Narzędzie Ostress kończy się niepowodzeniem z powodu błędu "Próba nawiązania połączenia nie powiodła się. Błąd zabezpieczeń SSL.". | Zobacz instrukcje dotyczące instalowania klienta natywnego programu SQL Server. |
Napotkasz wyjątek z readTrace "Nieobsługiwany wyjątek: System.IO.FileNotFoundException: Nie można załadować pliku lub zestawu "Microsoft.SqlServer.XEvent.Linq.dll" lub jednej z jego zależności. Nie można odnaleźć określonego modułu". | Instalowanie pakietu redystrybucyjnego Visual C++ 2010 |
Przykłady
W poniższych przykładach pokazano, jak używać niektórych narzędzi języka RML.
Importowanie danych Xevent w bazie danych przy użyciu ReadTrace.exe
Użyj ReadTrace.exe , aby zaimportować serię plików Xevent zbieranych przy użyciu narzędzi, takich jak PSSDIAG/SQLDiag.exe lub SQL LogScout. Użyj parametru -I
, aby wskazać pierwszy plik xel , który został zebrany w czasie, jeśli istnieje wiele plików. W przypadku wszystkich przełączników wiersza polecenia użyj polecenia ReadTrace.exe /?
:
ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.
Używanie Ostress.exe do testowania obciążenia zapytania
Użyj protokołu OStress, aby przesłać zapytanie do serwera, na którym działa program SQL Server, uruchamiając 30 równoczesnych połączeń i uruchamiając zapytanie 10 razy na każdym połączeniu. W przypadku wszystkich przełączników wiersza polecenia użyj polecenia Ostress.exe /?
:
ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10
Wyłączenie odpowiedzialności za kontakty z osobami trzecimi
Firma Microsoft udostępnia informacje kontaktowe innych firm, aby uzyskać dodatkowe informacje na temat tego tematu. Informacje te mogą zostać zmienione bez powiadomienia. Firma Microsoft nie gwarantuje dokładności informacji kontaktowych innych firm.