Executar o Assistente para Experimentos de Banco de Dados em um prompt de comando
Observação
Esta ferramenta será desativada em 15 de dezembro de 2024. Deixaremos de oferecer suporte para essa ferramenta relativo a qualquer problema que surgir e não publicaremos nenhuma correção de bugs ou atualizações adicionais.
Este artigo descreve como capturar um rastreamento no Assistente para Experimentos de Banco de Dados (DEA) e, em seguida, analisar os resultados, tudo de um prompt de comando.
Observação
Para saber mais sobre cada operação do DEA, execute o seguinte comando:
Deacmd.exe -o <operation> --help
É necessário ter um nome de operação. As operações válidas são Analysis, StartCapture e StopCapture.
Iniciar 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 |
Obrigatória. Nome do arquivo de rastreamento. |
-x , --format |
Obrigatória. Formato do rastreamento (0 = Trace, 1 = XEvents). |
-d , --duration |
Obrigatória. A duração máxima para a captura, em minutos. |
-l , --location |
Obrigatória. 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ória. Nome do host do SQL Server ou nome da instância para iniciar a captura. |
-e , --encrypt |
Padrão: Verdadeiro. Criptografar conexões à instância do SQL Server. |
--trust |
Padrão: false. Confiar no certificado do servidor ao se conectar à 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 = Sql Authentication). |
-u , --username |
Nome de usuário para conexão com o SQL Server. |
-p , --password |
A senha usada para se conectar ao SQL Server. |
Repetir uma captura de carga de trabalho
Se você estiver usando o Distributed Replay, execute as etapas a seguir.
Para conectar-se ao computador controlador do Distributed Replay.
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"
Inicie uma captura de rastreamento no computador de destino que executa o SQL Server usando StartReplayCaptureTrace.sql.
a. No SQL Server Management Studio (SSMS), abra <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.
b. Execute
Set @durationInMins=0
para que a captura de rastreamento não pare automaticamente após um tempo especificado.c. Para definir o tamanho máximo de arquivo por arquivo de rastreamento, execute
Set @maxfilesize
. O tamanho recomendável é 200 MB.d. Edite
@Tracefile
para definir um nome exclusivo para o arquivo de rastreamento.e. Edite
@dbname
para especificar um nome de banco de dados se a carga de trabalho precisar ser capturada somente em um banco de dados específico. Por padrão, a carga de trabalho em todo o servidor é capturada.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,dreplaycild3,dreplaychild4"
a. Para monitorar o status, execute o comando a seguir:
DReplay status -f 1
b. Para interromper a repetição, por exemplo, se você vir que a porcentagem de aprovação é menor do que o esperado, execute o seguinte comando:
DReplay cancel
Pare a captura de rastreamento na instância do SQL Server de destino.
No SSMS, abra <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.
Edite
@Tracefile
para corresponder ao caminho do arquivo de rastreamento no computador de destino que executa o SQL Server.Execute o script no computador de destino que executa o SQL Server.
Usando o InBuilt Replay
Se você estiver usando o InBuilt Replay, não precisará configurar o Distributed Replay. A possibilidade de usar o InBuilt Replay no prompt de comando está a caminho. Atualmente, você pode usar nossa GUI para executar o replay usando o 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, portanto, você também pode consultar diretamente as tabelas de análise geradas.
Ao analisar rastreamentos usando o comando DEA, você pode usar as seguintes opções:
Opção | Descrição |
---|---|
-a , --traceA |
Obrigatória. Caminho do arquivo para o 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 verificará automaticamente se há arquivos de sobreposição. Se os arquivos estiverem em BLOB, forneça o caminho da pasta onde você deseja que os arquivos de evento sejam armazenados localmente. Exemplo: C:\traces\ |
-b , --traceB |
Obrigatória. 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 sobreposição. Se os arquivos estiverem em BLOB, forneça o caminho da pasta onde você deseja que os arquivos de evento sejam armazenados localmente. Exemplo: C:\traces\ |
-r , --ReportName |
Obrigatória. Nome para 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ória. Nome do host ou nome da instância do SQL Server. |
-e , --encrypt |
Padrão: Verdadeiro. Criptografar conexões à instância do SQL Server. |
--trust |
Padrão: false. Confiar no certificado do servidor ao se conectar à instância do SQL Server. |
-m , --authmode |
Padrão: 0. Modo de autenticação (0 = Windows, 1 = Sql Authentication). |
-u , --username |
Nome de usuário para conexão com o SQL Server. |
--p |
A senha usada para se conectar ao SQL Server. |
--ab |
Padrão: false. O local de armazenamento do rastreamento A está no BLOB. Se usado, também deve especificar --abu (Trace A Blob Url) |
--bb |
Padrão: false. 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 a instância A com chave SAS. |
--bbu |
URL de BLOB para a instância B com chave SAS. |
Confira também
- Para obter mais informações sobre o uso do DEA, confira Visão geral do Assistente para Experimentos de Banco de Dados.