Por que eu devo ler este artigo:

Este artigo trata da utilização da ferramenta SQL Profiler para coleta de traces e análise das instruções executadas no servidor SQL Server. Entenderemos como podemos utilizar essas informações em análises de desempenho e performance, direcionando nossos esforços para a otimização das principais consultas. Além disso, com essas informações também é possível traçar perfis de utilização do seu ambiente e identificar qual o melhor aproveitamento das janelas diárias para execução de rotinas batch sem prejudicar o ambiente produtivo.

Sempre temos o costume de mencionar o quanto o desempenho das aplicações é importante no mundo coorporativo atual. Não importa o tamanho da empresa ou que tipo de tecnologia é empregado, o comportamento das aplicações é sempre um diferencial para o sucesso do negócio.

Para mensurar o desempenho de aplicações, existe uma série de indicadores que devem ser levados em consideração em testes de desempenho e análises de ambiente e que nos auxiliam a identificar problemas, minimizar gargalos e, consequentemente, melhorar continuamente o comportamento de nossos sistemas.

Em artigos anteriores tivemos a oportunidade de conhecer os contadores do performance monitor (perfmon) e também os eventos de espera do servidor SQL, que nos dão ótimas pistas do comportamento do ambiente e nos direcionam em trabalhos de otimização e resolução de problemas do dia-a-dia.

Para complementar nossa análise, falaremos neste artigo sobre os traces do próprio SQL Server, que nos direcionam de forma objetiva para as consultas mais lentas ou que consomem mais recursos do servidor de banco de dados. Para esse tipo de análise, é importante que saibamos:

· Como coletar um trace;

· Que aplicação usar para essas coletas;

· Como analisar os dados;

· Quais os critérios de coleta;

· E como avaliamos qual consulta é mais impactante.

Ao longo do artigo responderemos esses pontos e demonstraremos de maneira prática como trabalhar com os traces do SQL Server.

O que são os traces?

Do inglês, a palavra Trace quer dizer traço, vestígio, rastro, e quando conhecemos os traces do SQL Server, vemos que essas definições se encaixam perfeitamente no tipo de informação que nos é dado, já que o que coletamos são efetivamente os vestígios deixados pelas aplicações no banco de dados.

Sempre que uma ação é executada no SQL Server, seja um login, a execução de um procedimento, ou uma instrução Transact-SQL, seja proveniente do Management Studio, seja direto da aplicação, um rastro é deixado no banco de dados com todas as informações sobre aquela ação. Informações auditáveis como quem executou, de que máquina e a partir de qual aplicativo estão partindo as conexões são registradas no trace.

Além disso, no assunto que será tratado neste artigo, as análises de desempenho informações importantíssimas como o tempo de execução, o tempo de processamento em CPU e a quantidade de páginas de dados lidas e gravadas são registradas nos “vestígios” da execução. Com essas informações podemos avaliar qual query está prejudicando a performance.

Onde ficam essas informações e como acessá-las

Hoje existem algumas views de estatística do SQL Server que fornecem informações de acesso e execuções, mas para acompanhar em tempo real as ações que estão sendo realizadas nos servidores, nada melhor do que habilitar um trace do SQL Server através do SQL Profiler.

Uma vez configurado, o trace disponibiliza a real situação do ambiente e o do que está sendo executado, com informações de consumo de CPU, leituras e escritas em memória e também tempo total de execução.

Para obter essas informações precisamos configurar um ...

Quer ler esse conteúdo completo? Tenha acesso completo