Monitorear el estado y la latencia de log shipping
SQL ServerAlways On y 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';Qué hace
Muestra la antigüedad del último backup de log en el primario, el último archivo copiado/restaurado y la latencia de restauración en el secundario junto con sus umbrales, y los errores de los jobs de backup/copia/restauración de las últimas 24 horas.
Cuándo usarlo
Cuando salta el job de alerta de log shipping (errores 14420/14421), antes de una prueba de DR o al informar de cuánto va retrasado el secundario.
Precaución
Las tablas de monitoreo solo contienen el lado que ve el servidor: la tabla del primario se rellena en el primario/monitor y la del secundario en el secundario/monitor. Un backup de log manual (ajeno a log shipping) rompe la cadena y el job de restauración sigue fallando; use COPY_ONLY para backups de log puntuales. En modo STANDBY las conexiones de usuario se cortan antes de cada restauración. Consulta de solo lectura; segura.
Relacionado
- Monitorear la salud y el retraso del availability group (log send / redo queue, RPO)
- Failover forzado (FORCE_FAILOVER_ALLOW_DATA_LOSS) y recuperación posterior
- Añadir una base de datos a un AG (automatic seeding) y monitorear el progreso del seeding
- Comprobar el listener, sus IP y la configuración de read-only routing