Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server 2016 (13.x)
SQL Server 2017 (14.x) SQL Server 2019 (15.x)
Внимание
Распределенное воспроизведение SQL Server недоступно в SQL Server 2022 (16.x) и более поздних версиях.
Сведения о конфигурации Microsoft SQL Server Распределенного Воспроизведения указываются в XML-файлах на контроллере распределенного воспроизведения, клиентах распределенного воспроизведения и месте, где установлено средство администрирования. Эти файлы включают в себя:
Файл конфигурации контроллера: DReplayController.config
Когда запускается служба контроллера Распределённое воспроизведение SQL Server, она загружает уровень ведения журнала из файла конфигурации контроллера DReplayController.config. Этот файл находится в папке, в которую установлена служба контроллера распределенного воспроизведения:
<путь установки контроллера>\DReplayController.config
Уровень ведения журнала, заданный в файле конфигурации контроллера, включает следующие параметры.
| Настройки | XML-элемент | Описание | Допустимые значения | Обязательное поле |
|---|---|---|---|---|
| Уровень ведения журнала | <LoggingLevel> |
Задает уровень ведения журнала для службы контроллера. | INFORMATION | WARNING | CRITICAL |
№ Значение по умолчанию — CRITICAL. |
Пример
В этом примере показан файл конфигурации контроллера, в котором подавляются записи журнала INFORMATION и WARNING .
<?xml version='1.0'?>
<Options>
<LoggingLevel>CRITICAL</LoggingLevel>
</Options>
Файл конфигурации клиента: DReplayClient.config
При запуске клиентской службы распределенного воспроизведения SQL Server, она загружает параметры из файла конфигурации клиента, DReplayClient.config. Этот файл находится на каждом клиентском компьютере в папке, где установлена служба клиента распределенного воспроизведения:
<путь установки клиента>\DReplayClient.config
В файле конфигурации клиента указываются следующие параметры:
| Настройки | XML-элемент | Описание | Допустимые значения | Обязательное поле |
|---|---|---|---|---|
| Контроллер | <Controller> |
Задает имя компьютера для контроллера. Клиент предпринимает попытку зарегистрироваться в среде распределенного воспроизведения, обращаясь к контроллеру. | Локальный компьютер можно указать как «localhost» или «.». |
№ По умолчанию клиент пытается зарегистрироваться на экземпляре контроллера, работающего локально («.»), если таковой существует. |
| Рабочий каталог клиента | <WorkingDirectory> |
Локальный путь на клиенте, где сохраняются переданные файлы. Файлы в этом каталоге при следующем воспроизведении перезаписываются. |
Полное имя каталога, начиная с буквы диска. | № Если значение не задано, то переданные файлы сохраняются в той же папке, где находится файл конфигурации клиента по умолчанию. Если значение указано, но папка не существует на клиенте, то служба клиента не будет запущена. |
| Каталог с результатами клиента | <ResultDirectory> |
Локальный путь на клиенте, где сохраняется файл результатов трассировки в результате операции воспроизведения (для клиента). Файлы в этом каталоге при следующем воспроизведении перезаписываются. |
Полное имя каталога, начиная с буквы диска. | № Если значение не задано, то файл трассировки результатов сохраняется в той же папке, где находится файл конфигурации клиента по умолчанию. Если значение указано, но папка не существует на клиенте, то служба клиента не будет запущена. |
| Уровень ведения журнала | <LoggingLevel> |
Задает уровень ведения журнала для службы клиента. | INFORMATION | WARNING | CRITICAL |
№ Значение по умолчанию — CRITICAL. |
Пример
В этом примере показан измененный файл конфигурации клиента, в котором указано, что служба контроллера выполняется на другом компьютере с именем Controller1. Элементы WorkingDirectory и ResultDirectory настроены на использование папок c:\ClientWorkingDir и c:\ResultTraceDirсоответственно. Уровень ведения журнала был изменен с значения по умолчанию для подавления записей журнала INFORMATION и WARNING.
<?xml version='1.0'?>
<Options>
<Controller>Controller1</Controller>
<WorkingDirectory>c:\ClientWorkingDir</WorkingDirectory>
<ResultDirectory>c:\ResultTraceDir</ResultDirectory>
<LoggingLevel>CRITICAL</LoggingLevel>
</Options>
Файл конфигурации предварительной обработки: DReplay.exe.preprocess.config
При использовании средства администрирования для запуска предварительной обработки оно загружает параметры из файла конфигурации предварительной обработки DReplay.exe.preprocess.config.
Расположение измененного файла конфигурации предварительной обработки можно указать в файле конфигурации по умолчанию или в параметре средства администрирования -c . Дополнительные сведения об использовании параметра предварительной обработки средства администрирования см. в разделе Параметр предварительной обработки (средство администрирования распределенного воспроизведения).
Файл конфигурации предварительной обработки по умолчанию расположен в папке установки средства администрирования.
<путь установки средства администрирования>\DReplayAdmin\DReplay.exe.preprocess.config
Параметры конфигурации предварительной обработки указываются в дочерних XML-элементах элемента <PreprocessModifiers> в файле конфигурации предварительной обработки. В их число входят следующие параметры.
| Настройки | XML-элемент | Описание | Допустимые значения | Обязательное поле |
|---|---|---|---|---|
| Включить действия системного сеанса | <IncSystemSession> |
Указывает, будут ли включены записанные действия системного сеанса при воспроизведении. | Yes | No |
№ Значение по умолчанию — No. |
| Максимальное время простоя | <MaxIdleTime> |
Ограничивает время простоя до определенного числа (в секундах). | Целое число >= –1.-1 указывает, что значение в исходном файле трассировки не менялось.0 указывает наличие некоторой активности, которая происходит в любой момент времени. |
№ Значение по умолчанию — -1. |
Пример
Файл конфигурации предварительной обработки по умолчанию.
<?xml version='1.0'?>
<Options>
<PreprocessModifiers>
<IncSystemSession>No</IncSystemSession>
<MaxIdleTime>-1</MaxIdleTime>
</PreprocessModifiers>
</Options>
Файл конфигурации воспроизведения: DReplay.exe.replay.config
При использовании средства администрирования для запуска воспроизведения событий оно загружает параметры воспроизведения из файла конфигурации воспроизведения DReplay.exe.replay.config.
Расположение измененного файла конфигурации воспроизведения можно указать в файле конфигурации по умолчанию или в параметре средства администрирования -c . Дополнительные сведения об использовании параметра воспроизведения средства администрирования см. в разделе Параметр воспроизведения (средство администрирования распределенного воспроизведения).
Файл конфигурации воспроизведения по умолчанию расположен в папке установки средства администрирования.
<путь установки средства администрирования>\DReplayAdmin\DReplay.exe.replay.config
Параметры конфигурации воспроизведения указываются в дочерних XML-элементах элементов <ReplayOptions> и <OutputOptions> в файле конфигурации воспроизведения.
<ReplayOptions> элемент
В файле конфигурации воспроизведения в элементе <ReplayOptions> указываются следующие параметры.
| Настройки | XML-элемент | Описание | Допустимые значения | Обязательное поле |
|---|---|---|---|---|
| Целевой экземпляр SQL Server (тестовый сервер) | <Server> |
Указывает имя сервера и экземпляра SQL Server для подключения. |
имя_сервера[\имя_экземпляра] Указывать " localhost" или "." в качестве псевдонима локального узла нельзя. |
Нет, если имя сервера уже указано с использованием параметра -sуказанный сервер с опцией replay инструмента администрирования. |
| Режим последовательного выполнения | <SequencingMode> |
Задает режим планирования событий. | synchronization | stress |
№ Значение по умолчанию — stress. |
| Гранулярность масштабирования нагрузки | <StressScaleGranularity> |
Указывает, должны ли все подключения к идентификатору сеанса (SPID) масштабироваться вместе (SPID) или независимо (подключение) в режиме стресса. | SPID | Соединение | Да. Значение по умолчанию — SPID. |
| Масштаб времени коннекта | <ConnectTimeScale> |
Используется для масштабирования времени подключения в режиме нагрузки. | Целое число от 1 до 100. |
№ Значение по умолчанию — 100. |
| Масштаб времени | <ThinkTimeScale> |
Используется для масштабирования времени размышления в режиме нагрузки. | Целое число от 0 до 100. |
№ Значение по умолчанию — 100. |
| Использование пула соединений | <UseConnectionPooling> |
Указывает, будет ли использоваться пул соединений на каждом клиенте распределенного воспроизведения. | Да | Нет | Да. Значение по умолчанию — Yes. |
| Интервал мониторинга состояния | <HealthmonInterval> |
Указывает, как часто запускать монитор состояния системы (в секундах). Это значение используется только в режиме синхронизации. |
Целое число >= 1 ( -1 для отключения) |
№ Значение по умолчанию — 60. |
| Превышен лимит времени ожидания запроса | <QueryTimeout> |
Задает время ожидания запроса в секундах. Это значение действует только до возврата первой строки. | Целое число >= 1 ( -1 для отключения) |
№ Значение по умолчанию — 3600. |
| Потоков на клиент | <ThreadsPerClient> |
Задает число потоков воспроизведения для использования на каждом клиенте воспроизведения. | Целое число от 1 до 512. |
№ Если значение не указано, то для распределенного воспроизведения будет использоваться значение 255. |
<ПараметрыВывода> Element
В файле конфигурации воспроизведения в элементе <OutputOptions> указываются следующие параметры.
| Настройки | XML-элемент | Описание | Допустимые значения | Обязательное поле |
|---|---|---|---|---|
| Записать количество строк | <RecordRowCount> |
Указывает, следует ли записывать число строк для каждого результирующего набора. | Yes | No |
№ Значение по умолчанию — Yes. |
| Запись результирующего набора | <RecordResultSet> |
Указывает, следует ли записывать содержимое всех результирующих наборов. | Yes | No |
№ Значение по умолчанию — No. |
Пример
Файл конфигурации воспроизведения по умолчанию:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server></Server>
<SequencingMode>stress</SequencingMode>
<ConnectTimeScale></ConnectTimeScale>
<ThinkTimeScale></ThinkTimeScale>
<HealthmonInterval>60</HealthmonInterval>
<QueryTimeout>3600</QueryTimeout>
<ThreadsPerClient></ThreadsPerClient>
</ReplayOptions>
<OutputOptions>
<ResultTrace>
<RecordRowCount>Yes</RecordRowCount>
<RecordResultSet>No</RecordResultSet>
</ResultTrace>
</OutputOptions>
</Options>
Возможная ошибка при запуске с режимом последовательного выполнения синхронизации
Вы можете столкнуться с проблемой, при которой функция воспроизведения кажется останавливается или воспроизводит события медленно. Это явление может возникать, если воспроизводимая трассировка зависит от данных и (или) событий, которые не существуют в восстановленной целевой базе данных.
Одним из примеров является записанная рабочая нагрузка, использующая WAITFOR, например, в инструкции WAITFOR RECEIVE в Service Broker. При использовании режима последовательного выполнения синхронизации пакеты воспроизводятся последовательно. Если после резервного копирования базы данных, но до запуска трассировки захвата для воспроизведения, в исходной базе данных происходит INSERT, то оператор WAITFOR RECEIVE, выданный во время воспроизведения, может ожидать в течение всего времени, заданного в WAITFOR. События, назначенные для повторного воспроизведения после WAITFOR RECEIVE, будут задержаны. Это может привести к тому, что счетчик системного монитора пакетных запросов/с для конечного объекта базы данных воспроизведения опускается до нуля, пока не завершится оператор WAITFOR.
Если необходимо использовать режим синхронизации и вы хотите избежать такого поведения, необходимо выполнить следующие действия.
Приостановите базы данных, которые будут использоваться в качестве объектов воспроизведения.
Позвольте всем ожидающим действиям завершиться.
Создайте резервные копии баз данных и дождитесь завершения резервного копирования.
Запустите запись трассировки распределенного воспроизведения и возобновите нормальную рабочую нагрузку.
См. также
- Параметры командной строки средства администрирования (программа распределенного воспроизведения)
- SQL Server - Распределенное воспроизведение
- Использование распределенного воспроизведения для нагрузочного теста SQL Server. Часть 2
- Использование распределенного воспроизведения для нагрузочного теста SQL Server. Часть 1