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
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.
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.
Verifique se você fez um backup ao marcar a caixa de seleção Sim, fiz o backup manualmente….
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.
Marque ou desmarque as caixas de seleção Criptografar conexão e Confiar no certificado do servidor, conforme apropriado para seu cenário.
Iniciar a captura de rastreamento
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.
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.
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
- Para saber como configurar as ferramentas do Distributed Replay no SQL Server antes de reproduzir um rastreamento capturado, consulte Configurar o Distributed Replay para o Assistente para Experimentos de Banco de Dados.