Opção de repetição (Ferramenta de Administração de Repetição Distribuída)
Aplica-se a: SQL Server 2016 (13.x),
SQL Server 2017 (14.x) e
SQL Server 2019 (15.x)
Importante
O SQL Server Distributed Replay não está disponível com o SQL Server 2022 (16.x).
A ferramenta de administração do Microsoft SQL Server Distributed Replay, DReplay.exe, é uma ferramenta de linha de comando que você pode usar para se comunicar com o controlador de reprodução distribuída. Este tópico descreve a opção de linha de comando replay e a sintaxe correspondente.
A opção de repetição inicia a fase de repetição de eventos, na qual o controlador envia dados de repetição para os clientes especificados, inicia a repetição distribuída e sincroniza os clientes. Opcionalmente, cada cliente que participa da repetição pode gravar a atividade de repetição e salvar um arquivo de rastreamento de resultados localmente.
Para obter mais informações sobre as convenções de sintaxe usadas com a sintaxe da ferramenta de administração, consulte Transact-SQL convenções de sintaxe.
Sintaxe
dreplay replay [-m controller] -d controller_working_dir [-o]
[-s target_server] -w clients [-c config_file]
[-f status_interval]
Parâmetros
-mcontrolador
Especifica o nome do computador do controlador. Você pode usar "localhost
" ou ".
" para se referir ao computador local.
Se o parâmetro -m não for especificado, o computador local será usado.
-dcontroller_working_dir
Especifica o diretório no controlador onde o arquivo intermediário será armazenado. O parâmetro -d é obrigatório.
Aplicam-se os seguintes requisitos:
O diretório deve residir no controlador.
Você deve especificar o caminho completo, começando com uma letra da unidade (por exemplo,
c:\WorkingDir
).O caminho não deve terminar com um backslash "
\
".Os caminhos UNC não são suportados.
-o
Captura a atividade de repetição dos clientes e guarda-a num ficheiro de rastreamento de resultados no caminho especificado pelo elemento <ResultDirectory>
no ficheiro de configuração do cliente, DReplayClient.xml
.
Quando o parâmetro -o não é especificado, o arquivo de rastreamento de resultados não é gerado. A saída do console retorna informações resumidas no final do replay, mas nenhuma outra estatística de replay está disponível.
-sservidor_destino
Especifica a instância de destino do SQL Server na qual a carga de trabalho distribuída deve ser reproduzida. Você deve especificar esse parâmetro no formato server_name[\nome da instância].
Você não pode usar "localhost
" ou ".
" como o servidor de destino.
O parâmetro -s não será necessário se o elemento <Server>
for especificado na seção <ReplayOptions>
do arquivo de configuração de replay, DReplay.exe.replay.config
.
Se o parâmetro -s for usado, o elemento <Server>
na seção <ReplayOptions>
do arquivo de configuração de reprodução será ignorado.
-wclientes
Este parâmetro obrigatório é uma lista separada por vírgulas (sem espaços) que especifica os nomes de computador dos clientes que devem participar da reprodução distribuída. Endereços IP não são permitidos. Esteja ciente de que os clientes já devem estar registrados com o controlador.
Observação
Cada cliente se registra com o controlador especificado no arquivo de configuração do cliente quando o serviço do cliente é iniciado.
-cconfig_file
É o caminho completo do arquivo de configuração de replay; usado para especificar o local quando ele é armazenado em um local diferente.
O parâmetro -c não é necessário se você quiser usar os valores padrão do arquivo de configuração de repetição, DReplay.exe.replay.config
.
-fstatus_interval
Especifica a frequência (em segundos) na qual o status deve ser exibido.
Se -f não for especificado, o intervalo padrão será de 30 segundos.
Exemplos
Neste exemplo, a reprodução distribuída deriva grande parte de seu comportamento de um arquivo de configuração de reprodução modificado, DReplay.exe.replay.config
.
O parâmetro -m especifica que um computador chamado
controller1
atua como controlador. O nome do computador deve ser especificado quando o serviço do controlador está sendo executado em um computador diferente.O parâmetro -d especifica o local do arquivo intermediário no controlador,
c:\WorkingDir
.O parâmetro -o especifica que cada cliente especificado capture a atividade de repetição e salve-a em um arquivo de rastreamento de resultados. Nota: O elemento
<ResultTrace>
no arquivo de configuração pode ser usado para especificar se a contagem de linhas e o conjunto de resultados devem ser registrados.O parâmetro -w especifica que os computadores
client1
através declient4
participam como clientes na reprodução distribuída.O parâmetro -c é usado para apontar para o arquivo de configuração modificado,
DReplay.exe.replay.config
.O parâmetro -s não é necessário porque o elemento
<Server>
é especificado no elemento<ReplayOptions>
do arquivo de configuração de replay,DReplay.exe.replay.config
.
O estágio de repetição de eventos é iniciado com a seguinte sintaxe, quando a ferramenta de administração é executada a partir de um computador diferente do controlador:
dreplay replay -m controller1 -d c:\WorkingDir -o -w client1,client2,client3,client4 -c c:\DReplay.exe.replay.config
Para especificar um modo de sequenciamento síncrono, o elemento <SequencingMode>
do arquivo DReplay.exe.replay.config
é definido como igual ao valor synchronization
. A seção <ResultTrace>
do arquivo de configuração de repetição é alterada para especificar que a contagem de linhas seja registrada. Essas alterações são mostradas no seguinte exemplo XML:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server>server_name\replay_target_instance</Server>
<SequencingMode>synchronization</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>
Para especificar um modo de seqüenciamento de estresse, o elemento <SequencingMode>
do arquivo DReplay.exe.replay.config
é definido como igual ao valor stress
. Os elementos <ConnectTimeScale>
e <ThinkTimeScale>
são definidos com o valor 50
(para especificar 50%). Para obter mais informações sobre o tempo de conexão e o tempo de espera, consulte Configurar o Distributed Replay. Essas alterações são mostradas no seguinte exemplo XML:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server>server_name\replay_target_instance_name</Server>
<SequencingMode>stress</SequencingMode>
<ConnectTimeScale>50</ConnectTimeScale>
<ThinkTimeScale>50</ThinkTimeScale>
<HealthmonInterval>60</HealthmonInterval>
<QueryTimeout>3600</QueryTimeout>
<ThreadsPerClient></ThreadsPerClient>
</ReplayOptions>
<OutputOptions>
<ResultTrace>
<RecordRowCount>Yes</RecordRowCount>
<RecordResultSet>No</RecordResultSet>
</ResultTrace>
</OutputOptions>
</Options>
Permissões
Você deve executar a ferramenta de administração como um usuário interativo, como um usuário local ou uma conta de usuário de domínio. Para usar uma conta de usuário local, a ferramenta de administração e o controlador devem estar em execução no mesmo computador.
Para mais informações, consulte Distributed Replay Security.