Opção Replay (ferramenta de administração do Distributed Replay)

Aplica-se a: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

Importante

O SQL Server Distributed Replay não está disponível no SQL Server 2022 (16.x).

A ferramenta de administração 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 replay inicia o estágio de reprodução de eventos, no qual o controlador despacha dados de reprodução aos clientes especificados, inicia a reprodução distribuída e sincroniza os clientes. Opcionalmente, cada cliente que participa da reprodução pode gravar a atividade de reprodução e salvar um arquivo de rastreamento de resultado localmente.

Para obter mais informações sobre as convenções de sintaxe usadas com a sintaxe de ferramenta de administração, confira Convenções da sintaxe Transact-SQL.

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 fazer referência ao computador local.

Se o parâmetro -m não for especificado, será usado o computador local.

-ddiretório_trabalho_controlador
Especifica o diretório no controlador onde o arquivo intermediário será armazenado. O parâmetro -d é obrigatório.

Os seguintes requisitos são aplicados:

  • O diretório deve residir no controlador.

  • Você deve especificar o caminho completo, iniciando com uma letra da unidade (por exemplo, c:\WorkingDir).

  • O caminho não deve terminar com uma barra invertida "\".

  • Não há suporte para caminhos UNC.

-o
Captura a atividade de reprodução dos clientes e salva-a em um arquivo de rastreamento de resultado no caminho especificado pelo elemento <ResultDirectory> no arquivo de configuração do cliente, DReplayClient.xml.

Quando o parâmetro -o não é especificado, o arquivo de rastreamento de resultado não é gerado. A saída do console retorna informações resumidas ao término da reprodução, mas nenhuma outra estatística de reprodução está disponível.

-sservidor_de_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 reprodução, 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
Esse parâmetro necessário é uma lista separada por vírgulas (sem espaços) que especifica os nomes de computadores de clientes que devem participar da reprodução distribuída. Endereços IP não são permitidos. Lembre-se de que os clientes já devem estar registrados com o controlador.

Observação

Cada cliente efetua o registro com o controlador que é especificado no arquivo de configuração de cliente quando o serviço de cliente é iniciado.

-carquivo_de_configuração
É o caminho completo do arquivo de configuração de reprodução; usado para especificar o local em que ele é armazenado em um local diferente.

O parâmetro -c não será necessário se você quiser usar os valores padrão do arquivo de configuração de reprodução, DReplay.exe.replay.config.

-fintervalo_de_status
Especifica a frequência (em segundos) na qual exibir o status.

Se -f não for especificado, o intervalo padrão será de 30 segundos.

Exemplos

Neste exemplo, a reprodução distribuída deriva muito de seu comportamento a partir de um arquivo de configuração de reprodução modificado, DReplay.exe.replay.config.

  • O parâmetro -m especifica que um computador denominado controller1 atua como o controlador. O nome do computador deve ser especificado quando o serviço de controlador é 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 captura a atividade de reprodução e salva-a em um arquivo de rastreamento de resultado. Observação: O elemento <ResultTrace> no arquivo de configuração pode ser usado para especificar se a contagem de linhas e o conjunto de resultados são registrados.

  • O parâmetro -w especifica que os computadores client1 a client4 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 reprodução, DReplay.exe.replay.config.

O estágio de reprodução de eventos é iniciado com a sintaxe a seguir, 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 igual ao valor synchronization. A seção <ResultTrace> do arquivo de configuração de reprodução é modificado 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 sequenciamento de estresse, o elemento <SequencingMode> do arquivo DReplay.exe.replay.config é definido igual ao valor stress. Os elementos <ConnectTimeScale> e <ThinkTimeScale> são definidos como o valor 50 (para especificar 50 por cento). Para obter mais informações sobre tempo de conexão e tempo de raciocínio, consulte Configure 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, 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 saber mais, confira Distributed Replay Security.

Confira também