Exibir e analisar rastreamentos com o SQL Server Profiler
Aplica-se a:SQL Server
Azure SQL Managed Instance
Use o SQL Server Profiler para exibir dados de eventos capturados em um rastreamento. O SQL Server Profiler exibe dados com base em propriedades de rastreamento definidas. Uma maneira de analisar dados do SQL Server é copiá-los para outro programa, como o SQL Server ou o Orientador de Otimização do Mecanismo de Banco de Dados. Orientador de Otimização do Motor de Base de Dados pode utilizar um ficheiro de rastreamento que contenha eventos de lote SQL e chamada de procedimento remoto (RPC) se a coluna de dados Texto estiver incluída no rastreamento. Para garantir que os eventos e colunas corretos sejam capturados e usados com o Assistente de Otimização do Motor de Base de Dados, utilize o modelo de Ajuste predefinido fornecido com o SQL Server Profiler.
Quando você abre um rastreamento usando o SQL Server Profiler , o arquivo de rastreamento não precisa ter a extensão de arquivo .trc se o arquivo tiver sido criado pelos procedimentos armazenados do sistema SQL Server Profiler ou SQL Trace.
Observação
O SQL Server Profiler também pode ler ficheiros de log de rastreamento SQL e ficheiros de script SQL genéricos. Ao abrir um arquivo de .log de Rastreamento SQL que não tenha uma extensão de arquivo .log, como trace.txt, especifique SQLTrace_Log como o formato de arquivo.
Você pode configurar o formato de exibição de data e hora do SQL Server Profiler para ajudar na análise de rastreamento.
Solução de problemas de dados
Usando o SQL Server Profiler, pode solucionar problemas de dados agrupando traces ou ficheiros de trace pelas colunas de dados Duração, CPU, Leiturasou Gravações. Exemplos de dados que você pode solucionar são consultas com desempenho insatisfatório ou com números excepcionalmente altos de operações de leitura lógica.
Informações adicionais podem ser encontradas salvando rastreamentos em tabelas e usando Transact-SQL para consultar os dados do evento. Por exemplo, para determinar quais eventos SQL:BatchCompleted tinham tempo de espera excessivo, execute o seguinte:
SELECT TextData, Duration, CPU
FROM trace_table_name
WHERE EventClass = 12 -- SQL:BatchCompleted events
AND CPU < (Duration * 1000)
Observação
O servidor relata a duração de um evento em microssegundos (10^-6 segundos) e a quantidade de tempo de CPU usada pelo evento em milissegundos (10^-3 segundos). A interface gráfica de utilizador do SQL Server Profiler exibe a coluna Duração em milissegundos por padrão, mas quando um rastreamento é salvo num ficheiro ou numa tabela de base de dados, o valor da coluna Duração é gravado em microssegundos. Essas medidas são para consultas Transact-SQL (T-SQL).
Exibir nomes de objetos ao visualizar rastreamentos
Se desejar exibir o nome de um objeto em vez do identificador de objeto (ID do Objeto), você deve capturar o Nome do Servidor e ID do Banco de Dados colunas de dados junto com a coluna de dados Nome do Objeto dados.
Se optar por agrupar pela coluna de dados do ID do Objeto , certifique-se de agrupar primeiro pelas colunas de dados do Nome do Servidor e do ID do Banco de Dados , e depois pela coluna de dados do ID do Objeto . Da mesma forma, se optar por agrupar pela coluna de dados ID do Índice, certifique-se de agrupar primeiro pelas colunas de dados Nome do Servidor, ID do Banco de Dados, e ID do Objeto, e depois pelas colunas de dados ID do Índice. Você deve agrupar nessa ordem porque as IDs de objeto e índice não são exclusivas entre servidores e bancos de dados (e entre objetos para IDs de índice).
Localizando eventos específicos dentro de um rastreamento
Para localizar e agrupar eventos em um rastreamento, siga estas etapas:
Crie o seu rastro.
Ao definir o rastreio, capture as colunas de dados Event Class, ClientProcessIDe Hora de Início, além de quaisquer outras colunas de dados que pretender capturar. Para mais informações, consulte Criar um Traço (SQL Server Profiler).
Agrupe os dados capturados pela coluna de dados "Event Class" e capture o rastreamento em um arquivo ou tabela. Para agrupar os dados capturados, clique em Organizar Colunas na guia Seleção de Eventos da caixa de diálogo Propriedades de Rastreamento. Para obter mais informações, consulte Organizar colunas exibidas num rastreio (SQL Server Profiler).
Inicie o rastreamento e pare-o depois que o tempo apropriado tiver passado ou o número de eventos tiver sido capturado.
Encontre os eventos-alvo.
Abra o ficheiro ou tabela de rastreamento e expanda o nó da classe de eventos desejada; por exemplo, Deadlock Chain. Para obter mais informações, consulte Abrir um arquivo de rastreamento (SQL Server Profiler) ou Abrir uma tabela de rastreamento (SQL Server Profiler).
Pesquise os dados de rastreamento até encontrar os eventos para os quais está procurando (use o comando Localizar no menu Editar do SQL Server Profiler para ajudá-lo a encontrar valores no rastreamento). Anote os valores nas colunas de dados ClientProcessID e Hora de Início dos eventos que rastreia.
Exiba os eventos no contexto.
Exiba as propriedades de rastreamento e agrupe pela coluna de dados ClientProcessIDem vez de pela coluna de dados Classe de Evento.
Expanda os nós de cada ID de processo do cliente que você deseja exibir. Pesquise o rastreamento manualmente ou use Localizar até encontrar os valores de de Hora de Início doanotados anteriormente dos eventos de destino. Os eventos são exibidos em ordem cronológica com os outros eventos que pertencem a cada ID de processo do cliente selecionado. Por exemplo, os eventos Deadlock e Deadlock Chain, capturados dentro do rastreamento, aparecem imediatamente após os eventos SQL:BatchStartingdentro da ID expandida de processo do cliente.
A mesma técnica pode ser usada para encontrar quaisquer eventos agrupados. Depois de encontrar os eventos que procura, agrupe-os por ClientProcessID , ApplicationNameou outra classe de evento para exibir a atividade relacionada em ordem cronológica.