Воспроизведение трассировки в помощнике по экспериментации базы данных

В помощнике по экспериментам базы данных (DEA) можно воспроизвести захваченный файл трассировки в обновленной тестовой среде. Например, рассмотрим рабочую рабочую нагрузку, которая выполняется в SQL Server 2008 R2. Файл трассировки рабочей нагрузки должен воспроизводиться дважды: один раз в среде с той же версией SQL Server, которая выполняется в рабочей среде и второй раз в среде с целевой версией SQL Server, например SQL Server 2016.

Примечание.

Для повтора трассировки требуется вручную настроить виртуальные машины или физические компьютеры для выполнения распределенное воспроизведение трассировки. Дополнительные сведения см. в разделе "Настройка распределенное воспроизведение для помощника по экспериментации баз данных".

Настройка воспроизведения трассировки для целевого объекта 1

Во-первых, необходимо выполнить воспроизведение трассировки для целевого объекта 1, представляющего существующую рабочую среду.

  1. В DEA на панели навигации слева выберите значок со стрелкой, а затем на странице "Все воспроизведения" выберите "Создать воспроизведение".

    Create a replay in DEA

    Примечание.

    Компьютер контроллера распределенное воспроизведение требует разрешений для учетной записи пользователя, используемой для удаленного подключения.

  2. На странице "Создать воспроизведение" в разделе "Сведения о воспроизведения" введите или выберите следующие сведения:

    • Имя воспроизведения: введите имя для воспроизведения трассировки.

    • Формат исходной трассировки: укажите формат (trace или XEvents) исходного файла трассировки.

    • Полный путь к исходному файлу: укажите полный путь к исходному файлу трассировки. При использовании DReplay файл должен существовать на компьютере, выступая в качестве контроллера DReplay, и учетная запись пользователя требует доступа к файлу и папке.

    • Средство воспроизведения: укажите средство воспроизведения (DReplay или InBuilt).

    • Имя компьютера контроллера: укажите имя компьютера, выступающего в качестве контроллера распределенное воспроизведение.

    • Расположение трассировки воспроизведения: укажите путь для хранения файлов трассировки или XEvents, связанных с воспроизведением трассировки.

      Примечание.

      Для База данных SQL Azure или Управляемый экземпляр SQL Azure необходимо указать URI SAS учетной записи Хранилище BLOB-объектов Azure.

  3. Убедитесь, что вы восстановили базы данных, нажав кнопку "Да", я вручную восстановил проверка базы данных.

  4. В разделе сведения о подключении SQL Server введите или выберите следующие сведения:

    • Тип сервера: укажите тип SQL Server (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
    • Имя сервера: укажите имя сервера или IP-адрес sql Server.
    • Тип проверки подлинности: для типа проверки подлинности выберите Windows.
    • Имя базы данных: введите имя базы данных, в которой необходимо запустить трассировку на стороне сервера. Если база данных не указана, трассировка записывается во всех базах данных на сервере.
  5. Выберите или отмените выбор сертификата сервера шифрования идоверия, проверка поля, соответствующие вашему сценарию.

    New Replay page

Запуск воспроизведения трассировки в целевом объекте 1

  • После ввода или выбора необходимых сведений нажмите кнопку "Пуск ", чтобы инициировать воспроизведение трассировки.

    Если введенная информация действительна, запускается процесс распределенное воспроизведение. В противном случае текстовые поля с неверными сведениями выделены красным цветом. Убедитесь, что введенные значения верны, а затем нажмите кнопку "Пуск".

    Replay progress against target 1

    При необходимости можно отслеживать процесс. После завершения воспроизведения DEA сохранит результаты в файле в указанном расположении.

    Replay against target 1 complete

Выполнение воспроизведения трассировки для целевого объекта 2

После завершения воспроизведения трассировки в целевом объекте 1 необходимо выполнить то же самое для второго целевого объекта, представляющего целевую среду обновления.

  1. Настройте воспроизведение трассировки, на этот раз используя сведения, связанные с целевой средой 2.

  2. Запустите воспроизведение трассировки в целевом объекте 2.

    При необходимости можно отслеживать процесс. После завершения воспроизведения DEA сохранит результаты в файле в указанном расположении.

Часто задаваемые вопросы о воспроизведении трассировки

Вопрос. Какие разрешения безопасности необходимо запустить запись воспроизведения на целевом сервере?

  • Пользователь Windows, выполняющий операцию трассировки в приложении DEA, должен иметь права sysadmin на целевом компьютере под управлением SQL Server. Эти права пользователя необходимы для запуска трассировки.
  • Учетная запись службы, в которой выполняется целевой компьютер под управлением SQL Server, должна иметь доступ на запись к указанному пути к файлу трассировки.
  • Учетная запись службы, в которой выполняются распределенное воспроизведение клиентские службы, должна иметь права пользователя для подключения к целевому компьютеру под управлением SQL Server и выполнения запросов.

Вопрос. Можно ли запустить несколько повторов в одном сеансе?

Да, можно запустить несколько повторов и отслеживать их завершение в одном сеансе.

Вопрос. Можно ли запустить несколько повторов параллельно?

Да, но не с тем же набором компьютеров, выбранных в контроллере и клиентах. Контроллер и клиенты будут заняты. Настройте отдельный набор компьютеров в контроллере и клиенте , чтобы запустить параллельное воспроизведение.

Вопрос. Сколько времени обычно занимает воспроизведение, чтобы закончить?

Воспроизведение обычно занимает то же время, что и исходная трассировка, а также время, затраченное на предварительную обработку исходной трассировки. Однако если клиентские компьютеры, зарегистрированные в контроллере, недостаточно для управления нагрузкой, создаваемой из воспроизведения, воспроизведение может занять больше времени. Вы можете зарегистрировать до 16 клиентских компьютеров с помощью контроллера.

Вопрос. Насколько велик целевой файл трассировки?

Целевые файлы трассировки могут составлять от 5 до 15 раз, чем размер исходной трассировки. Размер файла зависит от количества выполняемых запросов. Например, большие двоичные объекты плана запросов могут быть большими. Если статистика для этих запросов часто изменяется, фиксируются больше событий.

Вопрос. Почему нужно восстановить базы данных?

SQL Server — это система управления реляционными базами данных с отслеживанием состояния. Чтобы правильно запустить тест A/B, состояние базы данных должно храниться в любое время. В противном случае могут появиться ошибки в запросах во время воспроизведения, которые не отображаются в рабочей среде. Чтобы предотвратить эти ошибки, рекомендуется создать резервную копию прямо перед записью источника. Аналогичным образом восстановление резервной копии на целевом компьютере под управлением SQL Server требуется для предотвращения ошибок во время воспроизведения.

Вопрос. Что означает "pass %" на странице воспроизведения?

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.

UNC-пути несовместимы с распределенное воспроизведение. распределенное воспроизведение пути должны быть локальными, абсолютными путями к первому исходному файлу трассировки, включая расширение.

Вопрос. Почему не удается найти файлы на странице нового воспроизведения?

Так как мы не можем просматривать папки на удаленном компьютере, просмотр файлов не полезен. Это более эффективно для копирования и вставки абсолютных путей.

Вопрос. Я начал воспроизведение с трассировкой, но распределенное воспроизведение не воспроизводили никаких событий. Почему?

Эта проблема может возникнуть, так как файл трассировки не имеет либо события, доступные для воспроизведения, либо сведения о том, как воспроизвести события. Убедитесь, что путь к файлу трассировки указывает на исходный файл трассировки. Исходный файл трассировки создается с помощью конфигурации, предоставленной в скрипте StartCaptureTrace.sql.

Вопрос. При попытке предварительной обработки файлов трассировки с помощью контроллера РАСПРЕДЕЛЕННОЕ ВОСПРОИЗВЕДЕНИЕ SQL Server 2017 отображается сообщение "Непредвиденная ошибка!". Почему?

Эта проблема известна в версии RTM SQL Server 2017. Дополнительные сведения см. в статье о непредвиденной ошибке при использовании функции DReplay для воспроизведения записанной трассировки в SQL Server 2017.

Проблема устранена в последнем накопительном обновлении 1 для SQL Server 2017. Скачайте последнюю версию накопительного обновления 1 для SQL Server 2017.

См. также

  • Сведения о создании отчета анализа, который помогает получить аналитические сведения о предлагаемых изменениях, см. в статье "Создание отчетов".