Воспроизведение трассировки в Помощнике по экспериментации баз данных
Заметка
Это средство было снято с эксплуатации 15 декабря 2024 г.. Мы перестали поддерживать этот инструмент для любых проблем, возникающих, и не будут выдавать никаких исправлений ошибок или дальнейших обновлений.
В помощнике по экспериментам базы данных (DEA) можно воспроизвести захваченный файл трассировки в обновленной тестовой среде. Например, рассмотрим рабочую рабочую нагрузку, которая выполняется в SQL Server 2008 R2. Файл трассировки рабочей нагрузки необходимо воспроизвести дважды: один раз в среде с той же версией SQL Server, что и в рабочей системе, и второй раз в среде с обновленной целевой версией SQL Server, например, SQL Server 2016.
Заметка
Для повтора трассировки требуется вручную настроить виртуальные машины или физические компьютеры для запуска распределенных трассировок реплея. Дополнительные сведения см. в разделе Настройка распределенного воспроизведения для помощника по экспериментам с базой данных.
Настройка воспроизведения трассировки для целевого объекта 1
Во-первых, необходимо выполнить воспроизведение трассировки для целевого объекта 1, представляющего существующую рабочую среду.
В DEA на панели навигации слева щелкните значок со стрелкой, а затем на странице Все воспроизведения выберите Новый воспроизведение.
Заметка
Компьютер контроллера распределенного воспроизведения требует разрешений для учетной записи пользователя, используемой для удаленного подключения.
На странице new Replay в разделе Сведения о воспроизведениявведите или выберите следующие сведения:
Название воспроизведения: Введите название для воспроизведения записи.
Формат исходной трассировки: укажите формат (трассировка или XEvents) исходного файла трассировки.
полный путь к исходному файлу: укажите полный путь к исходному файлу трассировки. При использовании DReplay файл должен существовать на компьютере, выступая в качестве контроллера DReplay, и учетная запись пользователя требует доступа к файлу и папке.
инструмент воспроизведения: укажите инструмент воспроизведения (DReplay или InBuilt).
имя компьютера контроллера. Укажите имя компьютера, выступающего в качестве контроллера распределенного воспроизведения.
Местоположение трассировки при воспроизведении. Укажите путь для хранения файлов трассировки и XEvents, связанных с воспроизведением трассировки.
Заметка
Для базы данных Azure SQL или управляемого экземпляра Azure SQL необходимо указать SAS URI учетной записи хранилища Azure Blob.
Убедитесь, что вы восстановили базу(ы) данных вручную, установив флажок Да, я вручную восстановил(а) базу(ы) данных.
В разделе сведения о подключении SQL Serverвведите или выберите следующие сведения:
- тип сервера. Укажите тип SQL Server (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
- имя сервера: Задайте имя сервера или IP-адрес вашего SQL Server.
- тип проверки подлинности: для типа проверки подлинности выберите Windows.
- имя базы данных: введите имя базы данных, на которой нужно запустить трассировку на стороне сервера. Если база данных не указана, трассировка записывается во всех базах данных на сервере.
Установите или отключите флажки шифрования подключения и сертификат сервера доверия в соответствии с вашим сценарием.
Запуск воспроизведения трассировки в целевом объекте 1
После ввода или выбора необходимых сведений выберите "Пуск", чтобы начать воспроизведение трассировки.
Если введенная информация действительна, запускается процесс распределенного воспроизведения. В противном случае текстовые поля с неверными сведениями выделены красным цветом. Убедитесь, что введенные значения верны, а затем выберите Пуск.
При необходимости можно отслеживать процесс. После завершения воспроизведения DEA сохранит результаты в файле в указанном расположении.
Выполнение воспроизведения трассировки для целевого объекта 2
После завершения воспроизведения трассировки в целевом объекте 1 необходимо выполнить то же самое для второго целевого объекта, представляющего целевую среду обновления.
Настройте воспроизведение трассировки, используя на этот раз сведения, связанные с вашей целевой средой 2.
Запустите воспроизведение трассировки в целевом объекте 2.
При необходимости можно отслеживать процесс. После завершения воспроизведения DEA сохранит результаты в файле в указанном расположении.
Часто задаваемые вопросы о воспроизведении трассировки
Вопрос: Какие разрешения безопасности необходимы для начала записи воспроизведения на целевом сервере?
- Пользователь Windows, выполняющий операцию трассировки в приложении DEA, должен иметь права sysadmin на целевом компьютере под управлением SQL Server. Эти права пользователя необходимы для запуска трассировки.
- Учетная запись службы, под которой работает SQL Server на целевом компьютере, должна иметь доступ на запись к указанному пути к файлу трассировки.
- Учетная запись службы, в которой выполняются клиентские службы распределенного воспроизведения, должна иметь права пользователя для подключения к целевому компьютеру под управлением SQL Server и выполнения запросов.
вопрос. Можно ли запустить несколько повторов в одном сеансе?
Да, можно запустить несколько повторов и отслеживать их завершение в одном сеансе.
вопрос: можно ли запустить несколько повторов параллельно?
Да, но не с тем же набором компьютеров, выбранных в комплекте "Контроллер плюс Клиенты". Контроллер и клиенты будут заняты. Настройте отдельный набор компьютеров под контроллером и клиентом для начала параллельного воспроизведения.
Вопрос: Как долго обычно длится повтор?
Воспроизведение обычно занимает то же время, что и исходная трассировка, а также время, затраченное на предварительную обработку исходной трассировки. Однако если клиентские компьютеры, зарегистрированные на контроллере, недостаточно, чтобы справиться с нагрузкой, возникающей при воспроизведении, воспроизведение может занять больше времени на завершение. Вы можете зарегистрировать до 16 клиентских компьютеров с помощью контроллера.
вопрос. Насколько большими являются целевые файлы трассировки?
Целевые файлы трассировки могут быть в 5–15 раз больше, чем исходные файлы трассировки. Размер файла зависит от количества выполняемых запросов. Например, двоичные объекты плана запросов могут быть значительными по размеру. Если статистика для этих запросов часто изменяется, фиксируются больше событий.
вопрос. Почему нужно восстановить базы данных?
SQL Server — это система управления реляционными базами данных с отслеживанием состояния. Чтобы правильно запустить тест A/B, состояние базы данных должно храниться в любое время. В противном случае могут появляться ошибки в запросах во время воспроизведения, которые не возникают в производственной среде. Чтобы предотвратить эти ошибки, рекомендуется создать резервную копию прямо перед записью источника. Аналогичным образом восстановление резервной копии на целевом компьютере под управлением SQL Server требуется для предотвращения ошибок во время воспроизведения.
Вопрос: Что означает "передача %" на странице воспроизведения?
Pass % означает, что прошла только часть запросов. Можно диагностировать, ожидается ли количество ошибок. Возможны ошибки или ошибки могут возникнуть, так как база данных потеряла целостность. Если значение передавать % не является ожидаемым, можно остановить трассировку и просмотреть файл трассировки в SQL Profiler, чтобы увидеть, какие запросы не выполнены.
Вопрос: Как посмотреть события трассировки, собранные во время воспроизведения?
Откройте целевой файл трассировки и просмотрите его в SQL Profiler. Или, если вы хотите внести изменения в запись воспроизведения, все скрипты SQL Server доступны в C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Scripts\StartReplayCapture.sql.
В: Какие события трассировки собирает DEA во время воспроизведения?
DEA записывает события трассировки, которые содержат информацию о характеристиках производительности. Конфигурация записи находится в скрипте StartReplayCaptureTrace.sql. Эти события являются типичными событиями трассировки SQL Server, которые перечислены в справочной документации по sp_trace_setevent (Transact-SQL),.
Устранение неполадок при воспроизведении трассировки
вопрос. Почему я не могу подключиться к компьютеру под управлением SQL Server?
- Убедитесь, что имя компьютера под управлением SQL Server является допустимым. Чтобы подтвердить, попробуйте подключиться к серверу с помощью SQL Server Management Studio (SSMS).
- Убедитесь, что конфигурация брандмауэра не блокирует подключения к компьютеру под управлением SQL Server.
- Убедитесь, что у пользователя есть необходимые права пользователя.
- Убедитесь, что учетная запись службы клиента распределенного воспроизведения имеет доступ к компьютеру под управлением SQL Server.
Дополнительные сведения см. в журналах %temp%\DEA. Если проблема сохранится, обратитесь в группу продуктов.
Вопрос: Почему не удается подключиться к контроллеру распределенного воспроизведения?
- Убедитесь, что служба контроллера распределенного воспроизведения запущена на компьютере контроллера. Чтобы проверить, используйте средства управления распределенным воспроизведением (выполните команду
dreplay.exe status -f 1
). - Если воспроизведение запущено удаленно:
- Убедитесь, что компьютер под управлением DEA может успешно проверить связь с контроллером. Убедитесь, что настройки брандмауэра разрешают подключения в соответствии с инструкциями на странице Настройка среды воспроизведения. Дополнительные сведения см. в статье «Обзор распределенного воспроизведения SQL Server».
- Убедитесь, что для пользователя контроллера распределенного воспроизведения разрешено удаленное запуск и удаленная активация DCOM.
- Убедитесь, что права на удаленный доступ DCOM разрешены для пользователя контроллера распределённого воспроизведения.
Вопрос: Путь к файлу трассировки существует на моем компьютере. Почему не удается найти контроллер распределенного воспроизведения?
Распределенное воспроизведение может получить доступ только к локальным ресурсам диска. Перед началом воспроизведения необходимо скопировать исходные файлы трассировки на компьютер контроллера распределенного воспроизведения. Кроме того, необходимо указать путь на странице DEA New Replay.
UNC-пути несовместимы с Distributed Replay (распределённым воспроизведением). Пути для распределенного воспроизведения должны быть локальными, абсолютными и указывать на первый исходный файл трассировки, включая его расширение.
Вопрос: Почему не удается просматривать файлы на новой странице воспроизведения?
Так как мы не можем просматривать папки на удаленном компьютере, просмотр файлов не полезен. Более эффективно копировать и вставлять абсолютные пути.
Я начал воспроизведение с трассировкой, но Distributed Replay не воспроизвело никаких событий. Почему?
Эта проблема может возникнуть, так как файл трассировки не имеет либо события, доступные для воспроизведения, либо сведения о том, как воспроизвести события. Убедитесь, что путь к файлу трассировки указывает на исходный файл трассировки. Исходный файл трассировки создается с помощью конфигурации, предоставленной в скрипте StartCaptureTrace.sql.
Вопрос. При попытке предварительной обработки файлов трассировки с помощью контроллера распределенного воспроизведения SQL Server 2017 отображается сообщение "Непредвиденная ошибка!". Почему?
Эта проблема известна в версии RTM SQL Server 2017. Дополнительные сведения см. в статье Непредвиденная ошибка при использовании функции DReplay для воспроизведения записанной трассировки в SQL Server 2017.
Проблема устранена в последнем накопительном обновлении 1 для SQL Server 2017. Скачайте последнюю версию накопительного обновления 1 KB4038634 для SQL Server 2017 .