Surveiller l'état et la latence du log shipping
SQL ServerAlways On et HACommande
-- 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';Ce que fait la commande
Affiche l'âge de la dernière sauvegarde du journal sur le primaire, le dernier fichier copié/restauré et la latence de restauration sur le secondaire avec leurs seuils, ainsi que les erreurs des jobs de sauvegarde/copie/restauration des dernières 24 heures.
Quand l'utiliser
Quand le job d'alerte du log shipping se déclenche (erreurs 14420/14421), avant un test DR, ou pour indiquer le retard du secondaire.
Attention
Les tables de supervision ne contiennent que le côté vu par le serveur : la table primaire est alimentée sur le primaire/moniteur, la table secondaire sur le secondaire/moniteur. Une sauvegarde manuelle du journal (hors log shipping) rompt la chaîne et le job de restauration échoue en boucle ; utilisez COPY_ONLY pour les sauvegardes ponctuelles du journal. En mode STANDBY, les connexions utilisateur sont coupées avant chaque restauration. Requête en lecture seule ; sûre.
Voir aussi
- Surveiller la santé et le retard d'un availability group (log send / redo queue, RPO)
- Basculement forcé (FORCE_FAILOVER_ALLOW_DATA_LOSS) et reprise après basculement
- Ajouter une base à un AG (automatic seeding) et suivre la progression du seeding
- Vérifier le listener, ses IP et la configuration du read-only routing