Por que eu devo ler este artigo:Em diversas empresas, não existe uma solução dedicada para realizar o monitoramento do(s) servidor(es) SQL. Sendo assim, os recursos do próprio SQL Server podem ser configurados com esse objetivo.

Nesse artigo será abordado o envio de relatórios formatados em HTML, utilizando o SQL Agent e o Database Mail. O exemplo descrito monitora os discos do servidor, permitindo a visualização de espaço total, livre e o percentual livre de cada unidade.

O monitoramento automatizado do banco de dados é uma tarefa importantíssima para o DBA, pois é através dele que são obtidas informações sobre a disponibilidade e saúde do ambiente quando o profissional não está em seu horário de trabalho.

Obviamente, esses dados servem para alertar o administrador sobre um problema que está acontecendo ou para preveni-lo de um problema que poderá acontecer.

Alguns monitoramentos indispensáveis devem ser contemplados no projeto de manutenção do ambiente. Vejamos:

· Disponibilidade da instância e seus bancos de dados;

· Utilização dos datafiles e transaction logs;

· Consumo de recursos: CPU, disco e memória;

· Rastreamento de queries mais lentas;

· Situação dos índices (o quanto estão fragmentados);

· Ocorrência de locks;

· Jobs em execução acima do esperado;

· Falha em Jobs agendados;

· Disco I/O;

· Verificação de erros no errorlog;

· Situação das rotinas de backup.

Essas são apenas algumas checagens que devem ser realizadas periodicamente. No entanto, torna-se inviável o DBA verificar todos esses pontos em todos os servidores que ele administra. Para isso existe o monitoramento automatizado e, consequentemente, existem diversas soluções que podem ser adotadas.

Em empresas cujo investimento não é um problema, são implementadas ferramentas dedicadas para tal propósito. Alguns exemplos são: Microsoft System Center, Nimsoft, Zabbix, entre outros.

Porém, em empresas que esse investimento não pode ser pago e que, inclusive, o time de DBAs é reduzido, podem-se obter excelentes resultados de monitoramento configurando a gama de recursos que o SQL Server já tem a oferecer nativamente, sem custo adicional algum.

Em diversas empresas há apenas um ou dois DBAs, o que exige mais controle e conhecimento dos ambientes de banco de dados, considerando que se houver algum problema, o próprio terá que resolver rapidamente.

Portanto, ao configurar verificações mais importantes, já damos ao DBA mais tranquilidade e poder de ação com antecedência. Outro ponto importante é a melhoria contínua do desempenho no banco de dados.

Com um monitoramento adequado, pode-se rastrear e melhorar queries mais lentas, verificação de locks constantes, jobs custosos, fragmentação de índices, crescimento dos datafiles e mais uma série de outras análises, o que tornará a aplicação mais eficiente após ações tomadas em cima desses dados.

Esse artigo irá abordar a combinação de scripts T-SQL que gera relatórios em HTML de uma determinada análise do ambiente, o SQL Agent para agendar essa análise em períodos regulares e o Database Mail para envio do relatório gerado.

O Database Mail

O Database Mail é uma solução para envio de mensagens do mecanismo de banco de dados do SQL Server. Por padrão, o recurso vem desativado e é possível ativá-lo por meio do assistente de configuração. Sua configuração é simples, baseada apenas em um perfil associado a uma conta SMTP.

Há configurações adicionais de parâmetros do sistema em que se restringe o tipo de arquivo (extensão) anexado nas mensagens ou o seu tamanho, por exemplo.

Para usar o Database Mail, o usuário deve ser membro da função de banco de dados DatabaseMailUserRole no banco de dados msdb. As informações de configuração do Database Mail são armazenadas no banco de dados msdb e a procedure sp_send_dbmail contida neste banco é utilizada para a formatação e envio das men ...

Quer ler esse conteúdo completo? Tenha acesso completo