Cenários de uso do SQL Server Profiler

A primeira etapa no uso do SQL Server Profiler é identificar os motivos de monitoramento do SQL Server. Este tópico discute os cenários típicos em que o SQL Server Profiler pode ser usado para coletar informações de rastreamento.

São cenários típicos de uso do SQL Server Profiler:

  • Localizar as consultas de pior desempenho.

    Por exemplo, você pode criar um rastreamento que capture eventos relacionados às classes de evento TSQL e Stored Procedure (RPC:Completed e SQL:BatchCompleted). Inclua todas as colunas de dados no rastreamento, agrupe por Duration (duração) e especifique critérios de evento. Por exemplo, se especificar que a Duration do evento deve ser, pelo menos, de 10.000 microssegundos, você poderá eliminar do rastreamento os eventos de duração mais curta. O valor mínimo de Duration pode ser aumentado, conforme a necessidade. Se desejar monitorar apenas um banco de dados por vez, especifique um valor para o critério de evento DatabaseID.

  • Identificar a causa de um deadlock.

    Por exemplo, você pode criar um rastreamento que capture eventos relacionados às classes de evento TSQL e Stored Procedure (RPC:Starting e SQL:BatchStarting) e às classes de evento Locks (Deadlock graph, Lock:Deadlock ou Lock:Deadlock Chain). Inclua todas as colunas de dados no rastreamento e agrupe por EventClass (classe de evento). Se desejar monitorar apenas um banco de dados por vez, especifique um valor para o critério de evento DatabaseID. Se você especificar a classe de evento Deadlock graph, o SQL Server Profiler produzirá uma representação gráfica do deadlock. Para obter mais informações, consulte Analisando deadlocks com o SQL Server Profiler.

    Para exibir as conexões envolvidas em um deadlock, tome uma destas medidas:

    • Abra o rastreamento que contém os dados capturados, agrupe-os por ClientProcessID e expanda ambas as conexões envolvidas no deadlock.

    • Salve os dados capturados em um arquivo de rastreamento e abra este último duas vezes, para tornar o arquivo visível em duas janelas separadas do SQL Server Profiler. Agrupe os dados capturados por ClientProcessID e expanda a ID do processo cliente envolvido no deadlock; cada conexão do deadlock encontra-se em uma janela separada. Organize as janelas lado a lado para visualizar os eventos que estão causando o deadlock. Se desejar salvar em um arquivo dados gráficos específicos do deadlock, clique com o botão direito do mouse em um evento do deadlock e selecione Extrair Dados de Eventos.

  • Monitorar o desempenho de procedimentos armazenados.

    Por exemplo, você pode criar um rastreamento que capture eventos relacionados às classes de evento Stored Procedure (SP:Completed, SP:Starting, SP:StmtCompleted e SP:StmtStarting) e TSQL (SQL:BatchStarting e SQL:BatchCompleted). Inclua todas as colunas de dados necessárias no rastreamento e agrupe por ClientProcessID (ID do processo cliente). Se desejar monitorar apenas um banco de dados por vez, use o filtro de ID de banco de dados para especificar um valor para o critério de evento. DatabaseID. Similarmente, se desejar monitorar apenas um procedimento armazenado por vez, use o filtro de ID de objeto para especificar um valor para o critério de evento Object ID.

  • Auditar a atividade do SQL Server.

    Por exemplo, se o administrador de segurança sempre precisar saber quais usuários encontram-se registrados no servidor, um rastreamento do SQL Server Profiler poderá fornecer um registro completo dos usuários que efetuaram logon ou logoff no servidor. Essas informações poderão, então, ser usadas para fins legais ou técnicos.

    Crie um rastreamento, selecionando o evento Audit Login. Para retornar as informações apropriadas, especifique as seguintes colunas de dados: EventClass (selecionada por padrão), EventSubClass, LoginSID, LoginName.

  • Monitorar a atividade Transact-SQL por usuário.

    É possível criar um rastreamento que capture eventos relacionados às classes de evento Sessions, ExistingConnection e TSQL. Inclua todas as colunas de dados no rastreamento, não especifique nenhum critério de evento e agrupe os eventos capturados por DBUserName (nome de usuário de banco de dados).

  • Colete uma amostra representativa dos eventos para teste de estresse.

    O SQL Server Profiler fornece um modelo TSQL_Replay predefinido que pode ser usado para ajuste iterativo, como testes de análise de desempenho.

  • Colete uma amostra dos eventos para ajustar o design do banco de dados físico, usando o Orientador de Otimização do Mecanismo de Banco de Dados.

    O SQL Server Profiler fornece um modelo de Otimização predefinido que reúne os eventos de Transact-SQL apropriados na saída do rastreamento, de modo que possam ser utilizados como carga de trabalho para o Orientador de Otimização do Mecanismo de Banco de Dados.