Monitore seu T-Log

Fala pessoal, blog como sempre meio parado, vida de DBA não é tão fácil quanto parece rs, uma lista grande de posts para escrever e estudar, mas só temos 24 horas por dia né rs.

Hoje vamos falar um pouco sobre o monitoramento do Transaction Log e como isso pode nos ajudar no dia a dia, também disponibilizarei um script para que possam se divertir.

No dia a dia de um administrador de banco de dados SQL Server temos momentos que precisamos redimensionar nosso arquivo de Log, aumentar ou diminuir para atender as demandas, porém como saber qual tamanho ideal? Ou porque meu arquivo de Log está crescendo sem parar? Para responder algumas dessas perguntas precisamos de um baseline de utilização do nosso arquivo de log, ou seja, ele precisa ser monitorado.

Bom existem ferramentas de monitoramento e N outras formas de se fazer esse monitoramento, o script que será compartilhado é apenas uma delas e acredito que uma forma bem simples de se implementar, esse script vem me ajudado muito em momentos onde preciso redimensionar o arquivo ou em casos de troubleshooting.

O script é composto de 3 objetos:

  • 1 Tabela para armazenar o histórico.
  • 1 Procedure para fazer a carga.
  • 1 Job para executar a procedure a cada 5 minutos.

O temporizador para iniciar o Job pode ser ajustado de acordo com o seu feeling, por padrão vai com 5 minutos que para mim funcionou bem na maioria dos ambientes.

Abaixo o script para criação do monitoramento:

https://github.com/Jamal27/SQLServer_Scripts/blob/master/LogUsedMonitor

Com base nas informações coletadas podemos montar queries do tipo:

Select Cast(dtlog as Date) DtLog,DatabaseName,MAX(PercentUsed) PercentUsed,Max(SizeMb) SizeMb
from [Monitor_LogUsed] Where DatabaseName =’DB_CHECKSUM’
Group By DatabaseName,Cast(dtlog as Date)
order by dtlog

Screen Shot 11-17-17 at 10.32 PM

Imagem: Máximo que o log chegou a ser utilizado por dia.

 

Select Cast(dtlog as Date) DtLog,DatabaseName,AVG(PercentUsed) PercentUsed,Max(SizeMb) SizeMb
from [Monitor_LogUsed] Where DatabaseName =’DB_CHECKSUM’
Group By DatabaseName,Cast(dtlog as Date)
order by dtlog

Screen Shot 11-17-17 at 10.37 PM

Imagem: Média de log utilizado por dia.

Nas imagens acima podemos identificar que estou desperdiçando um grande espaço em disco mantendo um arquivo de 300GB de Transaction Log, porém o dia que mais foi utilizado foi em 14/11, utilizando 27% que é equivalente a 81GB, já a média diária fica em torno de 1% de utilização, com base nessas informações ficaria muito mais fácil redimensionar meu arquivo de LOG não acha?!

Podemos ir mais afundo.

Screen Shot 11-17-17 at 10.42 PM

Podemos ver quais foram os maiores travadores do nosso Transaction log, descobrir o porque ele utilizou muito Log em um horário específico e ou porque ele cresceu ao invés de circular e reutilizar os VLFs.

Bom a partir dessas informações podemos gerar alguns relatórios, alertas, utilizar em troubleshootings de crescimento do Log, colocar no seu checklist diário ou simplesmente deixar coletar e um dia tomar como base para um redimensionamento.

Bom galera era isso, espero que tenham gostado, esse tipo de monitoramento vem me ajudando bastante no dia a dia, existem outros itens que podem ser monitorados e ajudar no cruzamento de informações durante um troubleshooting ou mesmo um monitoramento proativo e eu recomendo dar uma olhada no link do nosso amigo Fabrício Lima que fez um excelente artigo sobre isso.

https://www.fabriciolima.net/blog/2017/10/05/video-criando-15-alertas-no-sql-server-em-apenas-5-minutos/

Abaixo o link para download do script:

https://github.com/Jamal27/SQLServer_Scripts/blob/master/LogUsedMonitor

Obrigado e até a próxima.

Reginaldo Silva.

Anúncios

4 comentários sobre “Monitore seu T-Log

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s