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
Após abertura do SQL Server Profile FILE > New Trace
Após esse procedimento, irá abrir a janela pedindo para você se conectar a uma instância do SQL Server.
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.
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.
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.
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.
Se você desejar alterar as configurações do rastreamento, clique no ícone Properties.
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.
Chegamos ao fim desse post.
Se desejar saber mais sobre SQL Server Profile, visite:
Muito bom o artigo.
Fiquei na dúvida se existe algum correspondente ao Trace no Postgres.