Monitorando as atividades do SQL Server
Sumário
Visão Geral
Este documento visa orientar o uso do recuso do SQL Server “Monitor de Atividades (Activity Monitor)”, para analisar eventuais problemas de execução excessiva de consultas na instancia do SQL.
Premissas
Para realizar essa ação torna-se ter instalado o SQL Managerment Studio. O SQL Server Management Studio é um aplicativo de software iniciado com o Microsoft SQL Server 2005 usado para configurar, gerenciar e administrar todos os componentes do Microsoft SQL Server.
Quais indicadores monitorar?
Os indicadores que devem ser monitorados dependem das suas metas de desempenho. Entretanto, há uma variedade de indicadores comumente monitorados que fornecem informações suficientes para a resolução de problemas básicos. Baseado nestes valores, mais indicadores específicos podem ser monitorados a fim de encontrar a causa raiz de um problema.
Os indicadores do SQL Server comumente monitorados são memória e utilização de processador, tráfego de rede e utilização de disco.
Além de monitorar os parâmetros do SQL Server, é recomendado monitorar alguns parâmetros para bases específicas, bem como parâmetros do Windows.
Os indicadores comumente monitorados são: tempo de processador, comprimento da fila de processador, leitura e gravação de páginas por segundo, expectativa de vida da página, memória total e alvo do servidor, buffer cache hit ratio, quantidade de requisições, utilização de processador, lazy writes, utilização de rede, conexões de usuários, etc.
O SQL Server prove a função de monitoração integrada (Activity Monitor).
Como usar o Monitor de Atividades
O Monitor de Atividades pode ser aberto pelo ícone da barra de ferramentas no SQL Server Management Studio, pelo atalho de teclado Ctrl+Alt+A ou pelo menu de contexto do SQL Server no Pesquisa de Objetos.
Como mostrado, o monitor de atividades rastreia apenas dados pré-definidos dos mais importantes dos indicadores de performance do SQL Server. Indicadores adicionais não podem ser monitorados, os monitorados não podem ser removidos.
Essa monitoração está disponível apenas em tempo real. Não existe opção de salvar o histórico para uso posterior. Logo, o Monitor de Atividades é útil para monitoração corrente de atividades e solução de problemas básicos, para qualquer análise mais profunda e ajustes de desempenho uma ferramenta de monitoração deve ser escolhida, valores limites devem ser definidos e, se necessário, dados históricos devem ser armazenados.
Conhecendo o Monitor de Atividades do SQL (Activity Monitor)
O Monitor de Atividades rastreia apenas os indicadores mais importantes do SQL Server. Para obtê-los, ele executa consultas contra o a instancia SQL Server a cada 10 segundos. O desempenho é monitorado apenas enquanto o Monitor de Atividades está aberto, o que o torna a solução mais leve e com quase nenhuma sobrecarga.
Os indicadores são exibidos em 5 painéis recolhíveis: Visão Geral, Tarefas do Usuário Ativo, Esperas recentes, E/S Arquivo de Dados e Consultas caras recentes.
O painel Visão Geral exibe a porcentagem do tempo de processamento, número de tarefas pendentes, operações de E/S em MB/seg e o número de quantidade de requisições.
O painel Tarefas do Usuário Ativo exibe processos acontecendo atualmente em cada base de dados na instância. As informações exibidas são: login, aplicação, host, estado da tarefa, comando, tempo de espera, etc. A informação da tabela podem ser filtradas especificando um valor na coluna.
O menu de contexto no painel de Tarefas do Usuário Ativo provê uma função útil para uma análise mais profunda e para solução de problemas. No exemplo acima ele está selecionando o processo para ser rastreado no SQL Server Profiler.
O painel Esperas Recentes exibe esperas para diferentes recursos: memória, compilação, rede, etc.
Ele exibe o tempo de espera (o tempo que o SQL Server aguarda por recursos do sistema), tempo de espera recente, tempo de espera acumulado e média de espera do contador.
O painel E/S de Arquivo de dados exibe uma lista de todos os arquivos de banco de dados, MDF, NDF e LDF, o nome, caminho, atividade recente de leitura e gravação e tempo de resposta.
O painel Consultas Caras Recentes exibe as consultas executadas nos últimos 30 segundos que mais requisitaram recursos de hardware: processador, memória, disco e rede. O menu de contexto possibilita abrir a consulta em uma janela no SQL Server Management Studio e também abrir o plano de execução.
Ao identificar a consulta mais cara, podemos realizar um calculo básico dividindo a quantidade de execuções por 60s, diante a esse resultado podemos identificar a quantidade de vezes a consulta está sendo executada e assim podemos verificar ser uma ou mais consultas estão fora do esperado pela aplicação responsável .