Captura de um rastreamento no Assistente para Experimentos de Banco de Dados

Você pode usar o Assistente para Experimentos de Banco de Dados (DEA) para criar um arquivo de rastreamento com um log de eventos do servidor capturados. Um evento de servidor capturado é um evento que ocorre em um servidor específico durante um período específico. Uma captura de rastreamento deve ser executada de forma avulsa por servidor.

Antes de dar início a uma captura de rastreamento, certifique-se de fazer backup de todos os bancos de dados de destino.

O cache de consulta no SQL Server pode afetar os resultados da avaliação. Recomendamos reiniciar o serviço SQL Server (MSSQLSERVER) no aplicativo de serviços para aprimorar a consistência dos resultados da avaliação.

Configurar uma captura de rastreamento

  1. No DEA, na barra de navegação à esquerda, selecione o ícone da câmera e, em seguida, na página Todas as Capturas, escolha Nova Captura.

    Create a capture in DEA

  2. Na página Nova Captura, em Detalhes da Captura, insira ou escolha as seguintes informações:

    • Nome da Captura: insira um nome para o arquivo de rastreamento da sua captura.

    • Formato: especifique o formato (Trace ou XEvents) para a captura.

    • Duração: selecione o período de tempo (em minutos) que você deseja que a captura de rastreamento seja executada.

    • Local de Captura: selecione o caminho de destino para o arquivo de rastreamento.

      Observação

      O caminho do arquivo de rastreamento deve estar no computador em que o SQL Server está em execução. Se o serviço SQL Server não estiver definido para uma conta específica, o serviço poderá precisar de permissões de gravação na pasta especificada para que o arquivo de rastreamento seja gravado.

  3. Verifique se você fez um backup ao marcar a caixa de seleção Sim, fiz o backup manualmente….

  4. Em Detalhes da captura, insira ou selecione as seguintes informações:

    • Tipo de Servidor: especifique o tipo de SQL Server (SqlServer, AzureSqlDb e 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, escolha Windows.
    • Nome do banco de dados: insira um nome para o banco de dados no qual um rastreamento de banco de dados terá início. Se você não especificar um banco de dados, o rastreamento será capturado em todos os bancos de dados do servidor.
  5. Marque ou desmarque as caixas de seleção Criptografar conexão e Confiar no certificado do servidor, conforme apropriado para seu cenário.

    New Capture page

Iniciar a captura de rastreamento

  1. Depois de inserir ou escolher as informações necessárias, selecione Iniciar para iniciar a captura de rastreamento.

    Se as informações inseridas forem válidas, o processo de captura de rastreamento terá início. Caso contrário, as caixas de texto com entradas inválidas serão destacadas em vermelho. Se você encontrar erros, corrija as entradas necessárias e selecione Iniciar novamente.

    Enquanto a captura de rastreamento está em execução, em Detalhes da captura, o status e o progresso do processo de captura de rastreamento são exibidos.

    Monitor capture progress

  2. Quando a execução da captura de rastreamento for concluída, o novo arquivo de rastreamento (.trc) será salvo no Local de captura especificado durante a configuração inicial.

    Completed trace capture

    O arquivo de rastreamento inclui resultados de rastreamento da atividade de um banco de dados SQL Server. Os arquivos .trc são projetados para fornecer mais informações sobre erros detectados e relatados pelo SQL Server.

Perguntas frequentes sobre a captura de rastreamento

A seguir estão algumas perguntas frequentes sobre a captura de rastreamento no DEA.

P: Quais eventos são capturados quando executo uma captura de rastreamento em um banco de dados de produção?

A tabela apresentada a seguir lista os eventos e os dados de coluna correspondentes que o DEA coleta para rastreamentos:

Nome do evento Dados de texto (1) Dados binários (2) ID do banco de dados (3) Nome do host (8) Nome do aplicativo (10) Nome de logon (11) SPID (12) Horário de início (14) Horário de término (15) Nome do banco de dados (35) Sequência de eventos (51) IsSystem (60)
RPC:Completed (10) * * * * * * * * * * *
RPC:Starting (11) * * * * * * * * * *
RPC Output Parameter (100) * * * * * * * * * *
SQL:BatchCompleted (12) * * * * * * * * * * *
SQL:BatchStarting (13) * * * * * * * * * *
Audit Login (14) * * * * * * * * * * *
Audit Logout (15) * * * * * * * * * * *
ExistingConnection (17) * * * * * * * * * * *
CursorOpen (53) * * * * * * * * * *
CursorPrepare (70) * * * * * * * * * *
Prepare SQL (71) * * * * * * * * *
Exec Prepared SQL (72) * * * * * * * * *
CursorExecute (74) * * * * * * * * * *
CursorUnprepare (77) * * * * * * * * * *
CursorClose (78) * * * * * * * * * *

P: Há algum efeito no desempenho do meu servidor de produção quando a captura de rastreamento está em execução?

Sim, há um efeito mínimo no desempenho durante a coleta de rastreamentos. Em nossos testes, encontramos uma demanda de memória de cerca de 3%.

P: Quais variantes de permissões são necessárias para capturar rastreamentos em uma carga de trabalho de produção?

  • O usuário do Windows que executa a operação de rastreamento no aplicativo do DEA deve ter direitos de administrador de sistemas no computador em que o SQL Server está em execução.
  • A conta de serviço usada no computador em que o SQL Server está em execução deve ter acesso para gravação ao caminho do arquivo de rastreamento especificado.

P: É possível capturar rastreamentos de todo o servidor ou apenas de um banco de dados individual?

Você pode usar o DEA para capturar rastreamentos para todos os bancos de dados no servidor ou para um banco de dados individual.

P: Tenho um servidor vinculado configurado em meu ambiente de produção. Essas consultas são mostradas nos rastreamentos?

Se você estiver executando uma captura de rastreamento para todo o servidor, o rastreamento capturará todas as consultas, incluindo as consultas do servidor vinculado. Para executar uma captura de rastreamento para todo o servidor, deixe a caixa Nome do Banco de Dados na Nova Captura vazia.

P: Qual é o tempo mínimo recomendado para rastreamentos de carga de trabalho de produção?

Recomendamos escolher um período que melhor represente toda a carga de trabalho. Dessa forma, a análise é executada em todas as consultas da carga de trabalho.

P: Qual é a importância de fazer um backup do banco de dados antes de iniciar uma captura de rastreamento?

Antes de dar início a uma captura de rastreamento, certifique-se de fazer backup de todos os seus bancos de dados de destino. O rastreamento capturado no Destino 1 e no Destino 2 é reproduzido. Se o estado do banco de dados não for o mesmo, os resultados da experimentação estarão distorcidos.

P: É possível coletar XEvents em vez de rastreamentos e reproduzir XEvents?

Sim. O DEA oferece suporte para XEvents. Faça download da última versão do DEA e experimente.

Solucionar problemas de capturas de rastreamento

Se você vir um erro ao executar uma captura de rastreamento, confirme se:

  • O nome do computador em que o SQL Server está em execução é válido. Para confirmar, tente se conectar ao computador em que o SQL Server está em execução usando o SQL Server Management Studio (SSMS).
  • A configuração do firewall não bloqueia conexões com o computador em que o SQL Server está em execução.
  • O usuário tem as permissões listadas nas Perguntas Frequentes sobre Reprodução.
  • O nome do rastreamento não segue a convenção de sobreposição padrão (Capture_1). Em vez disso, tente nomes de rastreamento como Capture_1A ou Capture1.

A seguir estão alguns possíveis erros que você pode encontrar e as soluções para resolvê-los:

Possíveis erros Solução
Não é possível iniciar o rastreamento no SQL Server de destino. Verifique se você tem as permissões necessárias e se a conta do SQL Server tem acesso para gravação ao caminho do arquivo de rastreamento especificado Código de erro (53) do SQL. O usuário que executa a ferramenta DEA deve ter acesso ao computador em que o SQL Server está em execução. O usuário deve ser atribuído à função de administrador de sistemas.
Não é possível iniciar o rastreamento no SQL Server de destino. Verifique se você tem as permissões necessárias e se a conta do SQL Server tem acesso para gravação ao caminho do arquivo de rastreamento especificado Código de erro (19062) do SQL. O caminho de rastreamento especificado pode não existir ou a pasta não tem permissões de gravação para a conta sob a qual os serviços do SQL Server estão em execução (por exemplo, SERVIÇO DE REDE). O caminho deve existir e deve ter as permissões necessárias para que o rastreamento seja iniciado.
No momento, um rastreamento do DEA está em execução no servidor de destino. Um rastreamento ativo já está em execução no servidor de destino. Você não poderá iniciar um novo rastreamento quando um rastreamento de todo o servidor já estiver em execução.
Não é possível abrir o banco de dados solicitado para capturar o rastreamento. Este erro pode ser causado por um nome de banco de dados incorreto. O banco de dados especificado não existe ou não está acessível ao usuário atual. Use o nome correto do banco de dados.

Se você encontrar outros erros rotulados como Código de erro do SQL, consulte Erros do mecanismo de banco de dados para obter descrições detalhadas.

Confira também