Служебные программы языка разметки воспроизведения (RML) для SQL Server
В этой статье описывается группа инструментов, которые используются специалистами поддержки для устранения неполадок Microsoft SQL Server.
Исходная версия продукта: SQL Server
Исходный номер базы знаний: 944837
Что такое служебные программы RML?
Служебные программы RML — это набор средств диагностики для устранения неполадок с производительностью и устранения проблем с производительностью в SQL Server. Вы можете подумать о них как о средствах, которые помогают медицинским специалистам обрабатывать результаты рентгеновских лучей, МРТ и CT Scan. Служебные программы RML используются для обработки и визуализации диагностических данных производительности, собранных пользователями. Эти средства часто используются инженерами службы поддержки SQL Server для обработки диагностических трассировок при устранении неполадок с производительностью. Кроме того, служебные программы RML часто используются разработчиками баз данных и администраторами для анализа и улучшения рабочей нагрузки запросов SQL Server из тестовых и рабочих сред. В наборе есть три служебных программы: ReadTrace, Reporter и Ostress.
-
ReadTrace принимает данные трассировки расширенных событий или трассировки трассировки SQL, создаваемые пользователем для диагностики проблемы SQL Server или анализа производительности рабочей нагрузки. ReadTrace импортирует трассировки в таблицы в базе данных SQL Server, указанной пользователем. Думайте о ReadTrace как инструменте преобразования: он принимает двоичные
.XEL
файлы или.TRC
файлы и импортирует их в таблицы, чтобы их можно было проще анализировать с помощью запросов SQL. ReadTrace также может создавать язык разметки воспроизведения (. RML) файлы, которые могут использоваться Ostress для воспроизведения рабочей нагрузки. - Репортер — это средство отчетов и визуализации, которое подключается к пользовательской базе данных, которая создает ReadTrace. Репортер выполняет sql-запросы к базе данных и отображает сводные сводки отчетов SSRS в автономном режиме для исходных трассировок расширенных событий или профилировщика. Например, отчет может показать, какие запросы выполнялись наиболее долго в определенной захваченной рабочей нагрузке, которая использовала большую часть ЦП и которая выполняла большинство операций чтения.
-
Ostress — это инструмент моделирования стресс-тестирования.
Ostress.exe в качестве входных данных используются трассировки расширенных событий или профилировщика SQL. Он также может принимать предоставленные пользователем запросы в качестве входных данных. Затем Ostress воспроизводит эти трассировки или запросы к экземпляру SQL Server, выбранному пользователем. Цель заключается в имитации стресса. Например, если вы предоставляете OStress такой запрос
select * from table1
, можно указать ему выполнить запрос 100 раз в 50 подключений одновременно. Помимо отдельных запросов, Ostress может использовать специальные RML-файлы, создаваемые ReadTrace для выполнения воспроизведения. - OStress Replay Control Agent (ORCA) помогает Ostress имитировать стресс-тест путем повторения рабочей нагрузки из RML-файлов. Вы не взаимодействуете с ORCA напрямую, но используете Ostress.
Полное описание каждого средства и примера использования см. в файле справки RML, включенном в программы RML для SQL Server.
Как полезны служебные программы RML?
Служебные программы RML для SQL Server можно использовать для выполнения следующих задач:
- Определите, какое приложение, база данных, имя входа SQL Server или запрос используют максимальные ресурсы.
- Определите, изменяется ли план выполнения пакета при записи трассировки для пакета. Кроме того, можно использовать служебные программы RML для SQL Server, чтобы определить, как SQL Server выполняет эти планы.
- Определите, какие запросы выполняются медленно.
После записи трассировки для экземпляра SQL Server можно использовать служебные программы RML для SQL Server для воспроизведения файла трассировки в другом экземпляре SQL Server. При записи трассировки во время воспроизведения можно использовать служебные программы RML для SQL Server для сравнения нового файла трассировки с исходным файлом трассировки. Этот метод можно использовать для проверки поведения SQL Server после применения изменений. Например, этот метод можно использовать для проверки поведения SQL Server после выполнения следующих задач:
- Установите пакет обновления SQL Server.
- Установите накопительное обновление SQL Server.
- Обновите хранимую процедуру или функцию.
- Обновление или создание индекса.
Преимущества служебных программ RML для SQL Server
Служебные программы RML для SQL Server полезны, если вы хотите имитировать тестирование приложений, когда это нецелесообразно или невозможно протестировать с помощью реального приложения. В тестовой среде может быть трудно создать ту же нагрузку пользователя, которая существует в рабочей среде. Служебные программы RML для SQL Server можно использовать для воспроизведения рабочей нагрузки в тестовой среде и оценки влияния на производительность любых изменений. Например, можно протестировать обновление до SQL Server 2008 или приложение пакета обновления SQL Server. Кроме того, для анализа и сравнения различных рабочих нагрузок воспроизведения можно использовать служебные программы RML для SQL Server. Выполнение такого рода анализа регрессии вручную сложно.
Файл справки содержит раздел быстрого запуска. В этом разделе содержится краткое упражнение, которое знакомит вас с каждым средством RML. Чтобы открыть файл справки, выберите "Запустить>все программы>RML" для справки> RML SQL Server.>
Скачивание расположения и журнала версий
Журнал версий служебных программ RML можно просмотреть в этой таблице и скачать средства.
Номер версии | Description |
---|---|
09.04.0103 | Указывает текущий веб-выпуск, доступный в Центре загрузки Майкрософт. Она поддерживает все выпущенные версии SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 и SQL Server 2008). |
09.04.0102 | Указывает предыдущий веб-выпуск, доступный в Центре загрузки Майкрософт. Она поддерживает все выпущенные версии SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 и SQL Server 2008). |
9.04.0100 | Указывает предыдущий веб-выпуск, доступный в Центре загрузки Майкрософт. Она поддерживает все выпущенные версии 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 и SQL Server 2000). |
9.04.0098 | Указывает предыдущий пакет веб-выпуска, включенный в средство помощника по экспериментации базы данных. Она поддерживает все выпущенные версии SQL Server. |
9.04.0097 | Предыдущий выпуск, доступный на сайте SQL Nexus, который поддерживает все выпущенные версии SQL Server. |
9.04.0051 | Предыдущий веб-выпуск, доступный в Центре загрузки Майкрософт, который поддерживает SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 и SQL Server 2000. |
9.04.0004 | Предыдущий веб-выпуск, поддерживающий SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 и SQL Server 2000. |
9.01.0109 | Предыдущий веб-выпуск, поддерживающий SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 и SQL Server 2000. |
9.00.0023 | Предыдущий веб-выпуск, поддерживающий SQL Server 2005 и SQL Server 2000. |
8.10.0010 | Исходный веб-выпуск, поддерживающий SQL Server 2000 и SQL Server 7.0. |
Текущая версия программ RML для SQL Server заменяет все более ранние версии. Перед установкой текущей версии необходимо удалить любую более раннюю версию программ RML для SQL Server. Текущая версия набора инструментов содержит важные обновления программного обеспечения, улучшенные функции (процессы TRC и XEL-файлы ) и отчеты, а также улучшения производительности и масштабируемости.
Получение служебных программ RML для SQL Server
Служебные программы RML для SQL Server доступны для скачивания из Центра загрузки Майкрософт.
После установки помощника по эксперименту базы данных вы найдете средства RML (
ReadTrace
иOStress
) в папкеC:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\
.
Примечание.
Корпорация Майкрософт предоставляет служебные программы RML для SQL Server как есть. Службы поддержки клиентов Майкрософт (CSS) не предоставляют поддержку набора. Если у вас есть предложение или вы хотите сообщить об ошибке, вы можете использовать адрес электронной почты в статье "Проблемы и помощь" в файле справки (RML Help.docx). Файл справки включен в программы RML для SQL Server.
Зависимости для служебных программ RML для SQL Server
Внимание
Приложения, предоставляемые в составе набора инструментов RML, требуют предоставления нескольких других элементов управления.
Зависимости для репортера
Необходимо убедиться, что элементы управления "Средство просмотра отчетов" доступны в той же папке, что и Reporter.exe или в глобальном кэше сборок (GAC). Требуются библиотеки DLL, которые Reporter.exe :
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
Последние версии служебных программ RML включают эти библиотеки DLL в папку приложения.
Если это недоступно, эти библиотеки DLL можно скачать с помощью следующего скрипта 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"
Для правильной работы ссылок в отчетах ReadTrace необходимо скачать и установить исправление ReporterViewer. Чтобы скачать исправление ReporterViewer, перейдите в средство просмотра отчетов Microsoft Visual Studio 2010 с пакетом обновления 1 (KB2549864).
Зависимости для expander (необязательно)
В большинстве случаев расширение, которое ReadTrace использует для обработки ФАЙЛОВ CAB/ZIP/RAR, не используется. Однако если вам нужно использовать эту функцию для определенного сжатого типа файла, убедитесь, что элементы управления сжатием и декомпрессией доступны в той же папке, что и Expander.exe или в GAC. Библиотеки DLL, которые требуются Expander.exe , приведены ниже.
- BRICOLSOFTZipx64.dll
- UnRar64.dll
- XceedZipX64.dll
Эти библиотеки DLL можно получить из соответствующих программных пакетов поставщиков:
https://www.rarlab.com/rar_add.htm — поиск динамической библиотеки UnRAR.dll для разработчиков программного обеспечения Windows
Зависимости для ReadTrace и Ostress
ReadTrace и Ostress используют драйверы ODBC и OLEDB, отправленные в составе собственного клиента SQL Server. Начиная с версии 09.04.0103, набор служебных программ RML не зависит только от собственного клиента SQL Server (SNAC). Он может использовать драйверы Microsoft ODBC или OLEDB в системе, где она установлена.
Если вы планируете анализировать файлы расширенных событий (*.xel), убедитесь, что распространяемый компонент Visual C++ 2010 установлен в системе.
Известные проблемы и часто задаваемые вопросы
Проблема | Решение |
---|---|
ReadTrace обнаруживает ошибку "Не удается подключиться к указанному серверу. Initial HRESULT: 0x80040154" на компьютерах, на которых SQL Server не установлен или установлен только SQL Server 2022 | Исправлено в версии 09.04.0103. В качестве обходного решения можно установить собственный клиент SQL Server или другую версию SQL Server. Класс HRESULT 0x80040154 REGDB_E_CLASSNOTREG не зарегистрирован является файлом заголовка winerror.h, что означает, что компонент COM не зарегистрирован, так как, скорее всего, он не установлен. Это происходит, так как SQL Server 2022 не отправляет собственный клиент SQL Server. |
ReadTrace обнаруживает "ОШИБКА: проверка среды выполнения событий: обнаружен отсутствующий столбец [cached_text] в событии [sp_cache_remove] в последовательности событий 209494". | Исправлено в версии 09.04.0102. В качестве обходного решения можно добавить флаги трассировки (-T28 -T29 ) в командную строку ReadTrace. |
Репортер сталкивается с сообщением "Не удалось загрузить файл или сборку "Репортер", Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad36ad364e35 или одно из его зависимостей. Сбой при проверке правильности строгого имени. (Исключение из HRESULT: 0x8013141A)" | Исправлено в версии 09.04.0102. В качестве обходного решения можно создать следующий раздел реестра, чтобы переопределить проверку строгого имени: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35 |
ReadTrace завершается ошибкой "Не удается подключиться к указанному серверу. Первоначальный HRESULT: 0x80040154". Ostress завершается ошибкой "Попытка установить подключение завершилась ошибкой. Ошибка безопасности SSL.". | Инструкции по установке собственного клиента SQL Server. |
Вы столкнулись с исключением из ReadTrace "Необработанное исключение: System.IO.FileNotFoundException: не удалось загрузить файл или сборку "Microsoft.SqlServer.XEvent.Linq.dll" или одну из его зависимостей. Не удалось найти указанный модуль. | Установка распространяемого компонента Visual C++ 2010 |
Примеры
В следующих примерах показано, как использовать некоторые средства RML.
Использование ReadTrace.exe для импорта данных расширенного события (Xevent) в базе данных
Используйте ReadTrace.exe для импорта ряда файлов Xevent, собранных с помощью таких средств, как PSSDIAG/SQLDiag.exe или SQL LogScout.
-I
Используйте параметр, чтобы указать первый XEL-файл, собранный вовремя, если присутствует несколько файлов. Для всех коммутаторов командной строки используйте ReadTrace.exe /?
следующую команду:
ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.
Использование Ostress.exe для тестирования запроса
Используйте OStress для отправки запроса на сервер, на котором выполняется SQL Server, выполнив 30 одновременных подключений и выполнив запрос 10 раз в каждом подключении. Для всех коммутаторов командной строки используйте Ostress.exe /?
следующую команду:
ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10
Использование ReadTrace и Ostress для создания и воспроизведения RML-файлов
Создание . Файлы RML используйте следующую команду:
ReadTrace -I"D:\RMLReplayTest\ReplayTrace.trc" -o"D:\RMLReplayTest\RML" -S. -dReadTraceTestDb
Дополнительные сведения о событиях, которые необходимо записать для создания трассировки воспроизведения, см . в Help.docx RML.
Чтобы воспроизвести RML-файл с помощью Ostress, используйте следующую команду:
ostress.exe -S.\sql2022 -E -dAdventureWorks2022 -i"D:\RMLReplayTest\RML\SQL00069.rml" -o"D:\RMLReplayTest\RML\output"
Вы можете воспроизвести все RML-файлы с помощью *.RML
. Например: -i"D:\RMLReplayTest\RML\*.rml"
.
Заявление об отказе от ответственности за контактные данные сторонней организации
Корпорация Майкрософт предоставляет контактные данные сторонних производителей в целях получения дополнительных сведений по данной теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактных данных сторонних производителей.
Дополнительные ресурсы
Средства устранения неполадок и диагностики для локальных и гибридных сценариев SQL Server