Monitorar o status e a latência do log shipping
SQL ServerAlways On e HAComando
-- Summary (on the primary, secondary or monitor server):
EXEC master.sys.sp_help_log_shipping_monitor;
-- PRIMARY: when the last log backup was taken:
SELECT p.primary_server, p.primary_database,
p.last_backup_date, p.last_backup_file,
DATEDIFF(MINUTE, p.last_backup_date, GETDATE()) AS backup_age_min,
p.backup_threshold AS threshold_min
FROM msdb.dbo.log_shipping_monitor_primary p;
-- SECONDARY: copy and restore latency:
SELECT s.secondary_server, s.secondary_database, s.primary_server,
s.last_copied_date, s.last_copied_file,
s.last_restored_date, s.last_restored_file,
s.last_restored_latency AS restore_latency_min,
DATEDIFF(MINUTE, s.last_restored_date, GETDATE()) AS since_last_restore_min,
s.restore_threshold AS threshold_min
FROM msdb.dbo.log_shipping_monitor_secondary s;
-- Errors in the last 24 hours:
SELECT e.database_name, e.agent_type, e.log_time, e.message
FROM msdb.dbo.log_shipping_monitor_error_detail e
WHERE e.log_time >= DATEADD(HOUR, -24, GETDATE())
ORDER BY e.log_time DESC;
-- Secondary DB mode (RESTORING = NORECOVERY, is_in_standby = STANDBY):
SELECT name, state_desc, is_in_standby FROM sys.databases WHERE name = N'Musteri';O que faz
Mostra a idade do último backup de log no primário, o último arquivo copiado/restaurado e a latência de restore na secundária junto com seus limites, e os erros dos jobs de backup/cópia/restore das últimas 24 horas.
Quando usar
Quando o job de alerta do log shipping dispara (erros 14420/14421), antes de um teste de DR ou ao reportar quão atrasada está a secundária.
Atenção
As tabelas de monitoramento contêm apenas o lado que o servidor enxerga: a tabela do primário é preenchida no primário/monitor, a da secundária na secundária/monitor. Um backup de log manual (fora do log shipping) quebra a cadeia e o job de restore continua falhando; use COPY_ONLY para backups de log avulsos. No modo STANDBY as conexões de usuário são derrubadas antes de cada restore. Consulta somente leitura; segura.
Relacionados
- Monitorar a saúde e o atraso do availability group (log send / redo queue, RPO)
- Failover forçado (FORCE_FAILOVER_ALLOW_DATA_LOSS) e recuperação pós-failover
- Adicionar um banco a um AG (automatic seeding) e monitorar o progresso do seeding
- Verificar o listener, seus IPs e a configuração de read-only routing