ログシーケンス番号のギャップによるポイントインタイムリカバリ障害のトラブルシューティング
RDS for SQL Server でポイントインタイムリカバリ (PITR) を試みると、ログシーケンス番号 (LSN) のギャップが原因で障害が発生する可能性があります。これらのギャップにより、RDS はデータベースを要求された時間に復元できなくなり、RDS は復元インスタンスを incompatible-restore
状態にします。
この問題の一般的な原因は次のとおりです。
-
データベース復旧モデルへの手動変更。
-
トランザクションログのバックアップを完了するためのリソースが不足しているため、RDS によって自動復旧モデルが変更される。
データベース内の LSN ギャップを特定するには、次のクエリを実行します。
SELECT * FROM msdb.dbo.rds_fn_list_tlog_backup_metadata(
database_name
) ORDER BY backup_file_time_utc desc;
LSN ギャップを検出したら、次を実行できます。
-
LSN ギャップの前に復元ポイントを選択します。
-
次のインスタンスバックアップが完了した後、ある時点まで待機して復元します。
この問題を回避するには、RDS for SQL Server データベースの復旧モデルを手動で変更しないことをお勧めします。これは、インスタンスの耐久性を妨げてしまうためです。また、定期的なトランザクションログのバックアップを確保するために、ワークロードに十分なリソースを持つインスタンスタイプを選択することをお勧めします。
トランザクションログ管理の詳細については、「Microsoft SQL Server ドキュメント」の「SQL Server トランザクションログのアーキテクチャと管理ガイド