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.
Entre no computador do controlador 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 executando o SQL Server usando StartReplayCaptureTrace.sql.
No SSMS (SQL Server Management Studio), abra <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.
Execute
Set @durationInMins=0
para que a captura de rastreamento não pare automaticamente após um horário especificado.Para definir o tamanho máximo do arquivo por arquivo de rastreamento, execute
Set @maxfilesize
. O tamanho recomendado é de 200 MB.Edite
@Tracefile
para definir um nome exclusivo para o arquivo de rastreamento.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.
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"
- Para monitorar o status, execute o seguinte comando:
DReplay status -f 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
Interrompa 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 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. |