DBAtlas · データベース運用アトラス

ログ配布の状態と遅延を監視する

SQL ServerAlways On と HA

コマンド

-- 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';

概要

プライマリ上の最新ログバックアップの経過時間、セカンダリ上の最後にコピー / リストアされたファイルとリストアの遅延をしきい値とともに表示し、過去 24 時間のバックアップ / コピー / リストアジョブのエラーも表示する。

使用する場面

ログ配布のアラートジョブが発火した場合 (エラー 14420/14421)、DR テストの前、またはセカンダリの遅れを報告する場合。

注意

監視テーブルには、サーバーから見える側の情報のみが含まれる: プライマリテーブルはプライマリ / 監視サーバーで、セカンダリテーブルはセカンダリ / 監視サーバーで格納される。手動の (ログ配布以外の) ログバックアップはチェーンを途切れさせ、リストアジョブが失敗し続ける。アドホックなログバックアップには COPY_ONLY を使用する。STANDBY モードでは、各リストアの前にユーザー接続が切断される。読み取り専用クエリのため安全。

DBAtlas で開く →

関連項目