Поделиться через


Служебные программы языка разметки воспроизведения (RML) для SQL Server

В этой статье описывается группа инструментов, которые используются специалистами поддержки для устранения неполадок Microsoft SQL Server.

Исходная версия продукта: SQL Server
Исходный номер базы знаний: 944837

Введение

Группа поддержки SQL Server использует несколько внутренних средств для обработки типичных вариантов поддержки клиентов. Служебные программы языка разметки воспроизведения (RML) для SQL Server — это один из конкретных наборов инструментов, которые могут использовать разработчики баз данных и системные администраторы.

Дополнительная информация

Служебные программы 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
  • Обновление хранимой процедуры или функции
  • Обновление индекса или создание индекса

История версий

Номер версии 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.pdf). Файл справки включен в программы RML для SQL Server.

Преимущества служебных программ RML для SQL Server

Служебные программы RML для SQL Server полезны, если вы хотите имитировать тестирование приложений, когда это нецелесообразно или невозможно протестировать с помощью реального приложения. В тестовой среде может быть трудно создать ту же нагрузку пользователя, которая существует в рабочей среде. Служебные программы RML для SQL Server можно использовать для воспроизведения рабочей нагрузки в тестовой среде и оценки влияния на производительность любых изменений. Например, можно протестировать обновление до SQL Server 2008 или приложение пакета обновления SQL Server. Кроме того, для анализа и сравнения различных рабочих нагрузок воспроизведения можно использовать служебные программы RML для SQL Server. Такой анализ регрессии в противном случае будет сложным процессом, который необходимо выполнить вручную.

Файл справки содержит раздел быстрого запуска. В этом разделе содержится краткое упражнение, которое знакомит вас с каждым средством RML. Чтобы открыть файл справки, выберите "Пуск", наведите указатель на все программы RML для SQL Server, наведите указатель на справку и выберите справку RML.

Средства в программах RML для SQL Server

Служебные программы RML для SQL Server содержат следующие средства:

  • ReadTrace
  • Сообщивший
  • OStress
  • Агент управления воспроизведением OStress (ORCA)

Полное описание каждого средства и примера использования см. в файле справки RML, включенном в программы 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
  1. Последние версии служебных программ RML включают эти библиотеки DLL в папку приложения.

  2. Если это недоступно, эти библиотеки 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"
    
  3. Для правильной работы ссылок в отчетах ReadTrace необходимо скачать и установить исправление ReporterViewer. Чтобы скачать исправление ReporterViewer, перейдите в средство просмотра отчетов Microsoft Visual Studio 2010 с пакетом обновления 1 (KB2549864).

Зависимости для расширения

Убедитесь, что элементы управления сжатием и декомпрессией доступны в той же папке, что и Expander.exe или в GAC. Библиотеки DLL, которые требуются Expander.exe , приведены ниже.

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

Эти библиотеки DLL можно получить из соответствующих программных пакетов поставщиков:

Зависимости для 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

Заявление об отказе от ответственности за контактные данные сторонней организации

Корпорация Майкрософт предоставляет контактные данные сторонних производителей в целях получения дополнительных сведений по данной теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактных данных сторонних производителей.