Partilhar via


Reproduzir um rastreamento no Assistente de Experimentação de Banco de Dados

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.

No DEA (Assistente de Experimentação de Banco de Dados), você pode reproduzir um arquivo de rastreamento capturado em um ambiente de teste atualizado. Por exemplo, considere uma carga de trabalho de produção executada no SQL Server 2008 R2. O arquivo de rastreamento da carga de trabalho deve ser reproduzido duas vezes: uma vez em um ambiente com a mesma versão do SQL Server executada em produção e uma segunda vez em um ambiente que tenha a versão do SQL Server de destino de atualização, como o SQL Server 2016.

Nota

A reprodução de um rastreamento requer que você configure manualmente máquinas virtuais ou computadores físicos para executar rastreamentos do Distributed Replay. Para obter mais informações, consulte Configurar o Distributed Replay para o Database Experimentation Assistant.

Configurar uma reprodução de rastreamento para o alvo 1

Primeiro, você precisa executar uma reprodução de rastreamento contra o alvo 1, que representa o ambiente de produção existente.

  1. No DEA, na barra de navegação à esquerda, selecione o ícone de seta e, na página Todos os Replays, selecione Novo Replay.

    Captura de tela de Criar uma reprodução no DEA.

    Nota

    O computador do controlador Distributed Replay requer permissões para a conta de usuário que você usa para se conectar remotamente.

  2. Na página New Replay, em Detalhes de reprodução, insira ou selecione as seguintes informações:

    • O nome do replay: Insira um nome para o replay de rastreamento.

    • formato de rastreamento de origem: especifique o formato (Rastreamento ou XEvents) do arquivo de rastreamento de origem.

    • caminho completo para o arquivo de origem: especifique o caminho completo para o arquivo de rastreamento de origem. Se estiver usando o DReplay, o arquivo deverá existir no computador que serve como controlador DReplay e a conta de usuário exigirá acesso ao arquivo e à pasta.

    • Ferramenta de Reprodução: especifique a ferramenta de reprodução (DReplay ou InBuilt).

    • Nome do computador controlador: especifique o nome do computador que serve como o Controlador de Reprodução Distribuída.

    • Local de Rastreamento de Reprodução: especifique o caminho para armazenar arquivos de rastreamento/XEvents associados à reprodução de rastreamento.

      Nota

      Para um Banco de Dados SQL do Azure ou uma Instância Gerenciada de SQL do Azure, você precisa fornecer o URI SAS da conta de Armazenamento de Blobs do Azure.

  3. Verifique se você restaurou os bancos de dados selecionando a caixa de seleção Sim, restaurei manualmente os bancos de dados.

  4. Em detalhes de conexão do SQL Server, insira ou selecione as seguintes informações:

    • Tipo de Servidor: especifique o tipo do SQL Server (SqlServer, do AzureSqlDb, AzureSqlManagedInstance).
    • nome do servidor: especifique o nome do servidor ou o endereço IP do SQL Server.
    • Tipo de Autenticação: para o tipo de autenticação, selecione Windows.
    • nome do banco de dados: insira um nome para um banco de dados no qual iniciar um rastreamento do lado do servidor. Se você não especificar um banco de dados, o rastreamento será capturado em todos os bancos de dados no servidor.
  5. Selecione ou desmarque as caixas de seleção de conexão criptografada e de confiar no certificado do servidor conforme apropriado para seu cenário.

    captura de tela da página Novo Replay.

Iniciar a reprodução de rastreamento no destino 1

  • Depois de inserir ou selecionar as informações necessárias, selecione Iniciar para executar a reprodução de rastreamento.

    Se as informações inseridas forem válidas, o processo Distributed Replay será iniciado. Caso contrário, as caixas de texto que têm informações incorretas serão realçadas com vermelho. Verifique se os valores inseridos estão corretos e selecione Iniciar.

    Captura de tela do progresso de Reprodução em relação ao destino 1.

    Você pode monitorar o processo conforme necessário. Quando a reprodução terminar de ser executada, o DEA armazenará os resultados em um arquivo no local especificado.

    Captura de tela de Repetição no destino 1 concluída.

Executar a reprodução do rastreio no destino 2

Depois de concluir a execução da reprodução de rastreamento no destino 1, você precisará fazer o mesmo em relação ao seu segundo destino, que representa o ambiente de atualização pretendido.

  1. Configure uma reprodução de rastreamento, desta vez usando detalhes associados ao seu ambiente de destino 2.

  2. Inicie a reprodução do rastreamento no destino 2.

    Você pode monitorar o processo conforme necessário. Quando a reprodução terminar de ser executada, o DEA armazenará os resultados em um arquivo no local especificado.

Perguntas frequentes sobre a reprodução de rastreamento

P: Quais permissões de segurança eu preciso para iniciar uma captura de replay no meu servidor de destino?

  • O usuário do Windows que está executando a operação de rastreamento no aplicativo DEA deve ter direitos de sysadmin no computador de destino que executa o SQL Server. Esses direitos de usuário são necessários para iniciar um rastreamento.
  • A conta de serviço na qual o computador de destino que executa o SQL Server está em execução deve ter acesso de gravação ao caminho de arquivo de rastreamento especificado.
  • A conta de serviço na qual os serviços do Cliente Distributed Replay estão em execução deve ter direitos de usuário para se conectar ao computador de destino que executa o SQL Server e executar consultas.

P: Posso iniciar mais de um replay na mesma sessão?

Sim, você pode iniciar vários replays e rastreá-los até a conclusão na mesma sessão.

P: Posso iniciar mais de um replay em paralelo?

Sim, mas não com o mesmo conjunto de computadores selecionados em Controller + Clientes. O controlador e os clientes estarão ocupados. Configure um conjunto separado de computadores sob o controlador junto com o cliente para iniciar uma reprodução paralela.

P: quanto tempo um replay normalmente leva para ser concluído?

Normalmente, uma reprodução leva o mesmo tempo que o rastreamento de origem mais o tempo necessário para pré-processar o rastreamento de origem. No entanto, se os computadores cliente registrados com o controlador não forem suficientes para gerenciar a carga produzida a partir da reprodução, a reprodução poderá levar mais tempo para ser concluída. Você pode registrar até 16 computadores cliente com o controlador.

P: qual é o tamanho dos arquivos de rastreamento de destino?

Os arquivos de rastreamento de destino podem ter entre 5 e 15 vezes o tamanho do rastreamento de origem. O tamanho do arquivo é baseado em quantas consultas são executadas. Por exemplo, os blobs de plano de consulta podem ser grandes. Se as estatísticas dessas consultas forem alteradas com frequência, mais eventos serão capturados.

P: Por que preciso restaurar bancos de dados?

O SQL Server é um sistema de gerenciamento de banco de dados relacional com estado. Para executar corretamente um teste A/B, o estado do banco de dados deve ser mantido o tempo todo. Caso contrário, você poderá ver erros em consultas durante a reprodução que não aparecerão na produção. Para evitar esses erros, recomendamos que você faça um backup logo antes da captura de origem. Da mesma forma, a restauração do backup no computador de destino que executa o SQL Server é necessária para evitar erros durante a reprodução.

P: O que significa "passar %" na página de reprodução?

Pass % significa que somente uma porcentagem das consultas foi aprovada. Você pode diagnosticar se o número de erros é esperado. Os erros podem ser esperados ou os erros podem ocorrer porque o banco de dados perdeu sua integridade. Se o valor de passar % não for o esperado, você poderá parar o rastreamento e examinar o arquivo de rastreamento no SQL Profiler para ver quais consultas não foram bem-sucedidas.

P: Como posso visualizar os eventos de rastreamento coletados durante a reprodução?

Abra um arquivo de rastreamento de destino e exiba-o no SQL Profiler. Ou, se você quiser fazer modificações na captura de reprodução, todos os scripts do SQL Server estão disponíveis em C:\Arquivos de Programas (x86)\Microsoft Corporation\Assistente de Experimentação de Banco de Dados\Scripts\StartReplayCapture.sql.

P: Quais eventos de rastreamento o DEA coleta durante a reprodução?

O DEA captura eventos de rastreamento que contêm informações relacionadas ao desempenho. A configuração de captura está no script StartReplayCaptureTrace.sql. Esses eventos são eventos típicos de rastreamento do SQL Server listados na documentação de referência do sp_trace_setevent (Transact-SQL).

Solucionar problemas de reprodução de rastreamento

P: Por que não consigo me conectar ao computador que está executando o SQL Server?

  • Confirme se o nome do computador que executa o SQL Server é válido. Para confirmar, tente se conectar ao servidor usando o SSMS (SQL Server Management Studio).
  • Confirme se a configuração de firewall não bloqueia conexões com o computador que executa o SQL Server.
  • Confirme se o usuário tem os direitos de usuário necessários.
  • Confirme se a conta de serviço do cliente Distributed Replay tem acesso ao computador que executa o SQL Server.

Você pode obter mais detalhes nos logs no %temp%\DEA. Se o problema persistir, entre em contato com a equipe do produto.

P: Por que não consigo me conectar ao controlador Distributed Replay?

  • Verifique se o serviço de controlador Distributed Replay está em execução no computador do controlador. Para verificar, use as Ferramentas de Gerenciamento de Reprodução Distribuída (execute o comando dreplay.exe status -f 1).
  • Se a reprodução for iniciada remotamente:
    • Confirme se o computador que executa o DEA pode executar o ping com êxito no controlador. Confirme se as configurações de firewall permitem conexões de acordo com as instruções na página Configurar Ambiente de Reprodução. Para obter mais informações, consulte o artigo visão geral do SQL Server Distributed Replay.
    • Verifique se o Início Remoto do DCOM e a Ativação Remota são permitidos para o usuário do controlador Distributed Replay.
    • Verifique se os direitos de usuário do Acesso Remoto DCOM são permitidos para o usuário do controlador Distributed Replay.

P: O caminho do arquivo de rastreamento existe no meu computador. Por que o controlador distributed replay não pode encontrá-lo?

O Distributed Replay só pode acessar recursos de disco local. Você deve copiar os arquivos de rastreamento de origem para a máquina do controlador de Reprodução Distribuída antes de iniciar a reprodução. Além disso, você deve fornecer o caminho na página DEA New Replay.

Os caminhos UNC não são compatíveis com o Distributed Replay. Os caminhos do Distributed Replay devem ser caminhos locais e absolutos para o primeiro arquivo de rastreamento de origem, incluindo a extensão.

P: Por que não consigo procurar arquivos na página de Novo Replay?

Como não podemos procurar pastas em um computador remoto, procurar arquivos não é útil. É mais eficiente copiar e colar os caminhos absolutos.

P: Comecei a reproduzir com um rastreamento, mas o "Distributed Replay" não reproduziu nenhum evento. Por que?

Esse problema pode ocorrer porque o arquivo de rastreamento não tem nem os eventos reproduzíveis nem as informações necessárias sobre como reproduzir eventos. Confirme se o caminho do arquivo de rastreamento fornecido aponta para um arquivo de rastreamento de origem. O arquivo de rastreamento de origem é criado usando a configuração fornecida no script StartCaptureTrace.sql.

P: Vejo "Erro inesperado ocorreu!" quando tento pré-processar meus arquivos de rastreamento usando o controlador do SQL Server 2017 Distributed Replay. Por que?

Esse problema é conhecido na versão RTM do SQL Server 2017. Para obter mais informações, consulte Erro inesperado ao usar o recurso DReplay para reproduzir um rastreamento capturado no SQL Server 2017.

O problema foi resolvido na última Atualização Cumulativa 1 do SQL Server 2017. Baixe a versão mais recente do KB4038634 – Atualização Cumulativa 1 para o SQL Server 2017.