データベースの差分バックアップ

データベースの差分バックアップでは、最後に実行したデータベースの完全バックアップ以降に変更されたデータのみが記録されます。この完全バックアップを差分ベースといいます。データベースの差分バックアップは、データベースの完全バックアップよりもサイズが小さく高速に実行できます。これによりバックアップ時間が短縮されますが、複雑さは増します。大きなデータベースの場合、差分バックアップはデータベース バックアップよりも短い間隔で実行できるため、作業内容を失う可能性を低減させることができます。

データベースの差分バックアップは、データベースのある部分が他の部分よりも頻繁に変更される場合に特に役立ちます。そのような場合にデータベースの差分バックアップを使用すると、完全バックアップのオーバーヘッドをかけることなく頻繁にバックアップを行うことが可能になります。

注意

差分ベースが作成されたときにいずれかのファイル グループが読み取り専用であっても、読み取り/書き込みデータベースの差分バックアップは正常に機能します。データベース エンジンは、読み取り/書き込みデータベースの差分バックアップと同様に、差分ベースもプライマリ ファイルに記録します。

データベースの差分バックアップのスケジュールを設定する際のベスト プラクティス

大きなデータベースの場合、完全データベース バックアップには多くのディスク領域が必要です。時間とディスク領域を節約するには、データベースの完全バックアップの後に一連の差分バックアップを実行します。この一連の差分バックアップでは、各バックアップが直前のバックアップよりも大きくなるため、バックアップ時間、ディスク領域、および復元時間も増加します。このため、適切な間隔で新しく完全バックアップを実行することにより、新しい差分ベースを用意することをお勧めします。

次のガイドラインに従ってデータベースの差分バックアップを使用することをお勧めします。

  1. データベースの完全バックアップを実行した後、定期的にデータベースの差分バックアップを行うスケジュールを設定します。たとえば、4 時間ごとにデータベースの差分バックアップを実行します。使用率が高いシステムではさらに高い頻度でバックアップを実行します。

  2. 差分バックアップが大きくなりすぎない間隔で、新しくデータベースの完全バックアップを行うスケジュールを設定します。たとえば、1 週間に 1 回データベースの完全バックアップを実行します。

注意

完全復旧モデルでは、トランザクション ログ バックアップのスケジュールも設定する必要があります。ログ バックアップは、データベースの差分バックアップよりも頻繁に実行することをお勧めします。詳細については、「トランザクション ログのバックアップ」を参照してください。

データベースの差分バックアップ方法 (単純復旧モデル)

単純復旧モデルでは、時間がたつとバックアップ間の作業損失が増加する可能性があります。次の図に、データベース バックアップを差分バックアップによって補完することにより、作業損失の可能性を低減させるバックアップ方法を示します。最初のデータベース バックアップの後で、3 回の差分バックアップを実行します。3 回目の差分バックアップは大きくなるため、次のバックアップはデータベース バックアップになります。このデータベース バックアップによって新しい差分ベースが作成されます。

データベース バックアップ (完全および差分)

データベースの差分バックアップ方法 (完全復旧モデル)

完全復旧モデルと一括ログ復旧モデルでは、データベースの差分バックアップによって、データベースを復元するときにトランザクション ログ バックアップのロールフォワードにかかる時間が短縮されます。データベースの差分バックアップでは、差分バックアップが完了した時点までデータベースが復元されます。

次の図に、データベースの完全バックアップをデータベースの差分バックアップによって補完するバックアップ方法と、一連の定期的なログ バックアップを示します。トランザクション ログ バックアップにより、作業損失の可能性を、最新のログ バックアップ以降の時間に低減します。最初のデータベース バックアップの後で、3 回の差分バックアップを実行します。3 回目の差分バックアップは大きくなるため、次のバックアップはデータベースの完全バックアップになります。この完全バックアップによって新しい差分ベースが作成されます。

データベース バックアップ (完全および差分) とログ バックアップ

この図に示す最初のデータベース バックアップの前 (図の t0 から t1 の間) では、データベースに対する作業が失われる可能性があります。それ以降は、定期的なログ バックアップを行うことで、損失する可能性のある作業範囲が、最新のログ バックアップ (t14 に実行) 以降に行われた変更のみに限定されます。ディスク障害が発生した場合、データベース管理者は直ちにアクティブ ログ (ログの末尾) のバックアップを試みる必要があります。このログ末尾のバックアップが成功した場合、データベースを障害発生時点まで復元できます。

注意

トランザクション ログ バックアップを使用すると、障害の発生時点までデータベースを復旧できます。詳細については、「バックアップ内の特定の時点へのデータベースの復元」を参照してください。

データベースの差分バックアップの作成とスケジュール設定

データベースの差分バックアップを作成するための BACKUP の構文を次に示します。

BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL

データベースの差分バックアップを作成するには

注意

ベスト プラクティスを含めた、差分バックアップの使用方法の詳細については、「差分バックアップの使用」を参照してください。

バックアップ ジョブのスケジュールを設定するには

データベースの差分バックアップを使用したデータベースの復元

差分バックアップを復元する前に、差分ベースを復元する必要があります。特定のベースの一連の完全な差分バックアップを行う場合、復元するのはベースと最新の差分バックアップだけです。詳細については、「データベースの全体復元の実行 (単純復旧モデル)」または「データベースの全体復元の実行 (完全復旧モデル)」を参照してください。

重要な注意事項重要

作成した差分バックアップは、ベースを保存している限り、すべて保存しておくことをお勧めします。最新の差分バックアップが壊れた場合に、以前の差分バックアップを使用してデータベースを復元できます。