SQL Server Profile

O SQL Server Profiler é uma interface avançada para criar e gerenciar rastreamentos, e analisar e reproduzir resultados de rastreamento. Os eventos são salvos em um arquivo de rastreamento que, posteriormente, pode ser analisado ou usado para reproduzir uma série específica de etapas na tentativa de diagnosticar um problema.

De uma forma mais simples, o SQL Server Profile serve para registrar todos os eventos realizados em TABELAS, VIEWS, PROC, TRIGGERS, LOGON e outros eventos dentro do banco de dados.

OBS: O SQL Server Profile será substituído pelo TRACE CAPTURE  e TRACE REPLAY em versões futuras do SQL Server.

Como criar um rastreamento auditoria com SQL Server Profile

Para este exemplo, vamos capturar todos os SELECT realizado em uma VIEW chamda VW_DADOS_TESTE armazenada no banco de dados.

OBS: Você deseja auditar eventos de UPDATE, INSERT ou DELETE, recomendo trabalhar com TRIGGER.

Abra o SQL Server Profile.

INICIAR > Arquivos e Programas > Microsoft SQL Server > Performance Tools > SQL Server Profile

sql server profile 1

Após abertura do SQL Server Profile FILE > New Trace

sql server profile 2

Após esse procedimento, irá abrir a janela pedindo para você se conectar a uma instância do SQL Server.

sql server profile 3

Na janela de propriedade na guia geral, você pode configurar:

  • Trace Name: Escolha um nome para o rastreamento
  • Use the template: Escolha um template pré definido
  • Save to file: Permite você salvar o resutado do rastreamento em arquivo
  • Save to table: Permite você salvar o resutado do rastreamento em uma tabela do banco de dados
  • Enable trace stop time: Define uma data final para execução do rastreamento

No meu caso, eu inseri o nome do rastreamento, deixei o template com Standard(default), pedi para salvar os resultados em uma tabela chamada RASTREAMENTO_VW_TESTE.

sql server profile 5

Na aba Events Selection, você pode escolher qual tipo de eventos irá registrar. No meu caso escolhi TSQL SQL:BatchCompleted e TSQL SQL: BatchStarting para capturar eventos do tipo TSQL SELECT.

sql server profile 7

Você também pode definir qual tabela deseja rastrear no SQL Server Profile. Para isso, clique no evento desejado, e depois clique em Column Filters. Essa opção permite você criar vários tipos de filtros para o seu rastreamento. No meu caso, criei um filtro para rastrear apenas quando algum solicitar a VW VW_DADOS_TESTE. 

OBS: Coloque o nome da VIEWS entre % para ser possível capturar todos os eventos que envolvem a VIEW.

sql server profile 8

Após todas as configurações, clique em RUN para ver o rastreamento em tempo real.

Você também pode gerar o arquivo de rastreamento para usa-lo sempre que necessário. Para isso vá em FILE > Salve As > Trace File.

sql server profile 9

Se você desejar alterar as configurações do rastreamento, clique no ícone Properties.

sql server profile 10

Você pode criar uma variedade imensa de rastreamentos com essa ferramenta.

 

SQL Server Profile

Como criar um TRACE via SCRIPT TSQL

Você pode gerar um SCRIPT (QUERY) exatamente com as configurações do TRACE acima que foi criado via interface.

Para gerar o SCRIPT vá em FILE > EXPORT > SCRIPT TRACE DEFINITION > FOR SQL SERVER XXX, feito isso você gerar um arquivo .SQL com todos os comandos para criar o TRACE via TSQL.

Use esse mesmo SCRIPT para modificar e adequar para outras necessidades.

Como criar um TRACE via SCRIPT TSQL

Chegamos ao fim desse post.

Se desejar saber mais sobre SQL Server Profile, visite: