Query para monitorar o status do Log Shipping
Fala Galera ?
Tudo beleza?
Hoje vou trazer uma dica bem rapidinha para vocês sobre como monitorar o status do seu Log Shipping.
Há um tempo fiz um post sobre como configurar essa feature que pode ser utilizada como uma estratégia básica de DR (Disaster Recovery).
https://gustavolarocca.com.br/configurando-um-log-shipping-no-sql-server/
Não deixem de conferir ?
Sempre que implanto o Log Shipping nos clientes, utilizo essa query para validar o status das bases, com ela você pode criar alertas customizados e receber e-mails se alguma database não restaurar as peças de Backup de Log por um período pré-determinado que desejar.
Exemplo :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SELECT ls.primary_server, ls.primary_database, lsd.restore_delay, DATEDIFF(mi, lms.last_restored_date, GETDATE()) AS time_since_last_restore, lms.last_copied_date, lms.last_restored_date, lms.last_copied_file, lms.last_restored_file, lsd.disconnect_users, ls.backup_source_directory, ls.backup_destination_directory, ls.monitor_server FROM msdb.dbo.log_shipping_secondary ls JOIN msdb.dbo.log_shipping_secondary_databases lsd ON lsd.secondary_id = ls.secondary_id JOIN msdb.dbo.log_shipping_monitor_secondary lms ON lms.secondary_id = lsd.secondary_id WHERE DATEDIFF(mi, lms.last_restored_date, GETDATE()) >= 1200; -- 1200 minutos |
Como podemos ver pela imagem acima temos a base AdventureWorks2016 que está a 1395 minutos sem restaurar um backup de LOG.
Podemos usar desse threshold para criar um alerta customizado e configurar um job para me enviar um e-mail caso a base fique X minutos sem receber os arquivos de Log.
Exemplo:
E aí, gostaram?
Qualquer dúvida deixe nos comentários.
Um forte abraço até a próxima.
Gustavo Larocca
Consultor SQL Server
Um comentário
Excelente, estava precisando muito desta query!
Abraço!