Um aplicativo que dei pouca atenção nos posts do blog, porém é essencial para o deploy de aplicações, medição e tuning de desempenho, é o Microsoft© Sql Server Profiler. Com um conceito bastante simples porém muito eficaz, o profiler permite se conectar a uma determinada instância do SQL SERVER, e acompanhar através do Desktop os eventos que são encaminhados a instância, seu CPU Time, leituras físicas e lógicas, etc.
Para iniciar o Sql Server Profiler, vá no menu iniciar, programas, Microsoft Sql Server (dependendo da versão instada em seu computador), Performance Tools e selecione a opção SQL Server Profiler.
Se o seu Management Studio já estiver aberto, pode ser mais fácil clicar em TOOLS e Sql Server Profiler.
A interface abaixo deverá se abrir em seu computador:
Clique sobre o primeiro botão da Toolbar principal para um novo trace, e informe o nome da instância que deseja se conectar e as credenciais para a conexão.
A tela de Trace Properties, permite a utilização de templates para o trace, mas para este exemplo, use a opção Standard. Outras opções importantes, são as “Save to file” e “Save to table”. A opção “Save to file”, permite salvar o resultado do trace em um arquivo e a opção “Save to Table”, permite salvar o resultado do trace em uma tabela em um banco de dados (pode ser um banco de dados diferente do que está sendo acompanhado pelo trace). “Enable trace time stop” permite determinarmos um momento pré-fixado para o fim do trace.
Na aba “Event Selection” podemos selecionar os eventos que desejamos acompanhar. Para filtrar apenas a execução de procedures, selecione a opção RPC: Completed e para incluir os comandos TSQL executados contra a instância selecionada para monitorar, marque as opções:
O botão column filters permite usar algumas opções de filtros para os eventos selecionados. Se quisermos capturar apenas eventos com duração maior que 1 segundo, podemos usar a opção Duration e incluir o filtro “Greater than or equal”:
Ao clicarmos em OK na tela Trace Properties, podemos acompanhar todas as execuções contra a instância que decidimos monitorar e que se encaixam nos critérios de filtros que decidimos aplicar.
Faça um teste e execute alguma query no servidor desejado e verifique se aparece no profiler. Lembrando que o profiler sobrecarrega consideravelmente o servidor, principalmente se usarmos a opção “Save to table”. Uma boa prática é utilizar a opção “Save to file”, e depois absorver o arquivo em uma tabela (o que permite filtrar os dados posteriormente por duration ou ordená-los) usando a função fn_trace_gettable:
SELECT * FROM ::fn_trace_gettable('c:\my_trace.trc', default)
Abs e até a próxima!
Nenhum comentário:
Postar um comentário
Leave your comment here!