Exibir e analisar rastreamentos com o SQL Server Profiler

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Use SQL Server Profiler para exibir dados de evento capturados em um rastreamento. SQL Server Profiler exibe dados com base em propriedades de rastreamento definidas. Um modo de analisar os dados do SQL Server é copiá-los para outro programa, como o Orientador de Otimização do SQL Server ou do Mecanismo de Banco de Dados . Mecanismo de Banco de Dados O Orientador de Otimização poderá usar um arquivo de rastreamento contendo um lote SQL e eventos de RPC (chamada de procedimento remoto) se a coluna de dados Text estiver incluída no rastreamento. Para se certificar de que os eventos e as colunas corretos são capturados para uso com o Orientador de Otimização do Mecanismo de Banco de Dados, use o modelo Ajuste predefinido, que é fornecido com o SQL Server Profiler.

Ao abrir um rastreamento por meio do SQL Server Profiler, o arquivo de rastreamento não precisa ter a extensão de arquivo .trc, caso tenha sido criado pelo SQL Server Profiler ou por procedimentos armazenados do sistema do Rastreamento do SQL.

Observação

O SQL Server Profiler também pode ler arquivos .log do Rastreamento do SQL e arquivos de script SQL genéricos. Ao abrir um arquivo .log do Rastreamento do SQL cuja extensão de arquivo não seja .log, como trace.txt, especifique SQLTrace_Log como formato de arquivo.

Você pode configurar o formato de exibição de data e hora do SQL Server Profiler como auxílio para a análise do rastreamento.

Solucionando problemas de dados

Por meio do SQL Server Profiler, é possível solucionar problemas de dados agrupando rastreamentos ou arquivos de rastreamento pelas colunas de dados Duration, CPU, Readsou Writes . Exemplos de dados cujos problemas podem ser solucionados são consultas com baixo desempenho ou com números excepcionalmente altos de operações lógicas de leitura.

Informações adicional podem ser encontradas salvando-se os rastreamentos em tabelas e usando o Transact-SQL para consultar os dados de eventos. Por exemplo, para determinar quais eventos SQL:BatchCompleted tiveram um 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 informa a duração de um evento em microssegundos (10^-6 segundos) e o tempo de CPU usado pelo evento em milissegundos (10^-3 segundos). A interface gráfica do usuário do SQL Server Profiler exibe a coluna Duration em milissegundos, por padrão; porém, quando um rastreamento é salvo em um arquivo ou tabela de banco de dados, o valor da coluna Duration é gravado em microssegundos. Essas medidas são para consultas T-SQL (Transact-SQL).

Exibindo nomes de objeto ao visualizar rastreamentos

Se desejar exibir o nome de um objeto, em vez de seu identificador (Object ID), capture as colunas de dados Server Name e Database ID junto com a coluna de dados Object Name .

Se preferir agrupar pela coluna de dados Object ID , certifique-se de agrupar primeiro pelas colunas de dados Server Name e Database ID e, depois, pela coluna de dados Object ID . Similarmente, se preferir agrupar pela coluna de dados Index ID , certifique-se de agrupar primeiro pelas colunas de dados Server Name, Database IDe Object ID e, depois, pelas colunas de dados Index ID . É necessário agrupar nessa ordem porque as IDs de objeto e de índice não são exclusivas entre servidores e bancos de dados (e entre objetos quanto às IDs de índice).

Localizando eventos específicos em um rastreamento

Para localizar e agrupar eventos em um rastreamento, siga estas etapas:

  1. Crie seu rastreamento.

    • Ao definir o rastreamento, capture as colunas de dados Event Class, ClientProcessIDe Start Time , mais quaisquer outras que desejar. Para obter mais informações, confira Criar um Rastreamento (SQL Server Profiler).

    • Agrupe os dados capturados pela coluna de dados Event Classe 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 do Rastreamento. Para obter mais informações, confira Organizar Colunas Exibidas em um Rastreamento (SQL Server Profiler).

    • Inicie o rastreamento e interrompa-o quando o tempo apropriado for atingido ou assim que o número de eventos tiver sido capturado.

  2. Localize os eventos visados.

    • Abra o arquivo ou tabela de rastreamento e expanda o nó da classe de evento desejada; por exemplo, Deadlock Chain. Para obter mais informações, confira Abrir um Arquivo de Rastreamento (SQL Server Profiler) ou do Abrir uma Tabela de Rastreamento (SQL Server Profiler).

    • Pesquise os dados do rastreamento até localizar os eventos que está buscando (use o comando Localizar do menu Editar do SQL Server Profiler como auxílio para localizar valores no rastreamento). Observe os valores nas colunas de dados ClientProcessID e Start Time dos eventos rastreados.

  3. Exiba os eventos em contexto.

    • Exiba as propriedades de rastreamento e agrupe pela coluna de dados ClientProcessID, em vez da Event Class .

    • Expanda os nós de cada ID de processo cliente que desejar exibir. Pesquise o rastreamento manualmente ou use Localizar até encontrar os valores de Start Timeobservados anteriormente para os eventos visados. Os eventos são exibidos em ordem cronológica com os outros eventos que pertencem a cada ID de processo cliente selecionado. Por exemplo, os eventos Deadlock e Deadlock Chain, capturados no rastreamento, aparecem imediatamente após os eventos SQL:BatchStartingevents within the expeed client process ID.

A mesma técnica pode ser usada para localizar qualquer evento agrupado. Após localizar os eventos que procura, agrupe-os por ClientProcessID, ApplicationNameou outra classe de evento para ver a atividade relacionada em ordem cronológica.

Consulte Também