Partilhar via


Executar o Assistente de Experimentação de Banco de Dados em um prompt de comando

Nota

Esta ferramenta foi desativada no 15 de dezembro de 2024. Paramos de dar suporte a essa ferramenta para quaisquer problemas que surgirem e não emitiremos nenhuma correção de bug ou atualizações adicionais.

Este artigo descreve como capturar um rastreamento no DEA (Assistente de Experimentação de Banco de Dados) e analisar os resultados, tudo em um prompt de comando.

Para saber mais sobre cada operação DEA, execute o seguinte comando:

deacmd.exe -o <operation> --help

Um nome de operação é necessário. As operações válidas são Analysis, StartCapturee StopCapture.

Inicie uma nova captura de carga de trabalho usando o comando DEA

Para iniciar uma nova captura de carga de trabalho, em um prompt de comando, execute o seguinte comando:

deacmd.exe -o StartCapture -n <Trace FileName> -x <Trace Format> -h <SQLServerInstance> -f <database name> -e <Encrypt Connection> -m <Authentication Mode> -u <user name> -p <password> -l <Location of Output Folder> -d <duration>

Por exemplo:

deacmd.exe -o StartCapture -n sql2008capture -x 0 -h localhost -f adventureworks -e --trust -m 0 -l c:\test  -d 60

Ao iniciar uma nova captura de carga de trabalho com o comando deacmd.exe, você pode usar as seguintes opções:

Opção Descrição
-n, --name Necessário. Nome do arquivo de rastreamento.
-x, --format Necessário. Formato do trace (0 = Trace, 1 = XEvents).
-d, --duration Necessário. Duração máxima para a captura, em minutos.
-l, --location Obrigatório. Local da pasta de saída para armazenar arquivos de rastreamento ou XEvent no computador host.
-t, --type Padrão: 0. Tipo do SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Instância Gerenciada de SQL do Azure).
-h, --host Obrigatório Nome do host ou nome da instância do SQL Server para iniciar a captura.
-e, --encrypt Padrão: True. Criptografar a conexão com a instância do SQL Server.
--trust Padrão: Falso. Confiar no certificado do servidor durante a conexão com a instância do SQL Server.
-f, --databasename Nome do banco de dados para filtrar seus rastreamentos, se não for especificado, a captura será iniciada em todos os bancos de dados.
-m, --authmode Padrão: 0. Modo de autenticação (0 = Windows, 1 = Autenticação sql).
-u, --username Nome de usuário para se conectar ao SQL Server.
-p, --password Senha para se conectar ao SQL Server.

Reproduzir uma captura de carga de trabalho

Se você estiver usando Distributed Replay, execute as etapas a seguir.

  1. Entre no computador do controlador Distributed Replay.

  2. Para converter o rastreamento de carga de trabalho que você capturou usando o comando DEA em um arquivo IRF, execute o seguinte comando:

    DReplay preprocess -m "dreplaycontroller" -i "Path to first trace file" -d "<Folder path on controller>\IrfFolder"
    
  3. Inicie uma captura de rastreamento no computador de destino executando o SQL Server usando StartReplayCaptureTrace.sql.

    1. No SSMS (SQL Server Management Studio), abra <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.

    2. Execute Set @durationInMins=0 para que a captura de rastreamento não pare automaticamente após um horário especificado.

    3. Para definir o tamanho máximo do arquivo por arquivo de rastreamento, execute Set @maxfilesize. O tamanho recomendado é de 200 MB.

    4. Edite @Tracefile para definir um nome exclusivo para o arquivo de rastreamento.

    5. Edite @dbname para especificar um nome de banco de dados se a carga de trabalho precisar ser capturada apenas em um banco de dados específico. Por padrão, a carga de trabalho em todo o servidor é capturada.

  4. Para reproduzir o arquivo IRF na instância do SQL Server de destino, execute o seguinte comando:

    DReplay replay -m "dreplaycontroller" -d "<Folder Path on Dreplay Controller>\IrfFolder" -o -s "SQL2016Target" -w "dreplaychild1,dreplaychild2,dreplaychild3,dreplaychild4"
    
    1. Para monitorar o status, execute o seguinte comando:
    DReplay status -f 1
    
    1. Para interromper a reprodução, por exemplo, se você vir que a porcentagem de aprovação é menor do que o esperado, execute o seguinte comando:
    DReplay cancel
    
  5. Interrompa a captura de rastreamento na instância do SQL Server de destino.

  6. No SSMS, abra <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.

  7. Edite @Tracefile para corresponder ao caminho do arquivo de rastreamento no computador de destino que executa o SQL Server.

  8. Execute o script no computador de destino executando o SQL Server.

Usar o Reprodução Incorporada

Se você estiver usando o InBuilt Replay, não precisará configurar o Distributed Replay. A funcionalidade de utilizar o InBuilt Replay no prompt de comando está chegando. Atualmente, você pode usar nossa GUI para executar a reprodução usando InBuilt Replay.

Analisar rastreamentos usando o comando DEA

Para iniciar uma nova análise de rastreamento, execute o seguinte comando:

deacmd.exe -o analysis -a <Target1 trace filepath> -b <Target2 trace filepath> -r reportname -h <SQLserverInstance> -e <encryptconnection> -u <username>

Por exemplo:

deacmd.exe -o analysis -a C:\Trace\SQL2008Source\Trace.trc -b C:\ Trace\SQL2014Trace\Trace.trc -r upgrade20082014 -h localhost -e

Para exibir os relatórios de análise desses arquivos de rastreamento, você precisa usar a GUI para exibir gráficos e métricas organizadas. No entanto, o banco de dados de análise é gravado na instância do SQL Server especificada, para que você também possa consultar as tabelas de análise geradas diretamente.

Ao analisar rastreamentos usando o comando DEA, você pode usar as seguintes opções:

Opção Descrição
-a, --traceA Necessário. Caminho do arquivo de evento da instância A. Exemplo: C:\traces\Sql2008trace.trc. Se houver um lote de arquivos, selecione o primeiro arquivo e o DEA verifica se há arquivos de substituição automaticamente. Se os arquivos estiverem no blob, forneça o caminho da pasta onde você deseja que os arquivos de evento sejam armazenados localmente. Exemplo: C:\traces\
-b, --traceB Necessário. Caminho do arquivo para o arquivo de evento da instância B. Exemplo: C:\traces\Sql2014trace.trc. Se houver um lote de arquivos, selecione o primeiro arquivo, e o DEA verificará automaticamente se há arquivos de substituição. Se os arquivos estiverem no blob, forneça o caminho da pasta onde você deseja que os arquivos de evento sejam armazenados localmente. Exemplo: C:\traces\
-r, --ReportName Necessário. Nome da análise atual. O relatório de análise gerado é identificado por esse nome.
-t, --type Padrão: 0. Tipo do SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Instância Gerenciada de SQL do Azure).
-h, --host Obrigatório. Nome do host ou nome da instância do SQL Server.
-e, --encrypt Padrão: True. Criptografar a conexão com a instância do SQL Server.
--trust Padrão: Falso. Confiar no certificado do servidor durante a conexão com a instância do SQL Server.
-m, --authmode Padrão: 0. Modo de autenticação (0 = Windows, 1 = Autenticação sql).
-u, --username Nome de usuário para se conectar ao SQL Server.
--p Senha para se conectar ao SQL Server.
--ab Padrão: Falso. O local de armazenamento do rastreamento A está no blob. Se usado, também deve especificar --abu (Trace A Blob Url)
--bb Padrão: Falso. O local de armazenamento do rastreamento B está no blob. Se usado, também deve especificar --bbu (Trace B Blob Url)
--abu URL de blob para uma instância com chave SAS.
--bbu URL de blob para a instância B com chave SAS.