データベース復元時の復旧時間の短縮
このトピックは、完全復旧モデルまたは一括ログ復旧モデルを使用するデータベースにのみ関連しています。
データベースのバックアップ、データベースの差分バックアップ、およびトランザクション ログのバックアップを併用すると、データベース バックアップの作成後、データベースを特定の時点の状態に復元するための所要時間を短縮できます。さらに、データベースの差分バックアップとトランザクション ログ バックアップの両方を作成しておくと、そのどちらかがメディア障害などによって使用できなくなった場合に備えることができます。
データベースのバックアップ、データベースの差分バックアップ、およびトランザクション ログのバックアップの一般的な手順では、データベースのバックアップは長めの間隔、データベースの差分バックアップは中くらいの間隔、トランザクション ログのバックアップは短めの間隔で作成します。たとえば、データベースのバックアップは毎週、データベースの差分バックアップは毎日 1 回以上、トランザクション ログのバックアップは 10 分ごとに作成します。
障害発生時点へのデータベースの復旧
データベースを障害発生時点の状態に復旧させる必要がある場合は、次の手順を実行します。
- 現在アクティブなトランザクション ログ (ログの末尾) をバックアップします。トランザクション ログが壊れている場合、この操作は失敗します。
- データベースの最新の完全バックアップを復元します。
- 復元された完全バックアップ以降に作成された、データベースの最新の差分バックアップを復元します。
- 最後の差分バックアップの後に作成されたすべてのトランザクション ログのバックアップを順に適用し、最後に手順 1. で作成したログ末尾のバックアップを適用します。
メモ : |
---|
ログの末尾をバックアップできない場合は、前回定期バックアップを行った時点までしかデータベースを復元できません。そのログ バックアップ以降に加えた変更は失われます。 |
データベースの差分バックアップとトランザクション ログのバックアップを併用して障害発生時直前の状態にデータベースを復元すると、データベースの復元時間が短縮されます。これは、データベースの最後の差分バックアップを作成した後で作成されたトランザクション ログのバックアップだけを適用すれば済むからです。データベースの差分バックアップを作成しなかった場合は、データベース全体のバックアップ以降に作成されたトランザクション ログのバックアップをすべて適用する必要があります。
例
データベースの差分バックアップとトランザクション ログのバックアップの併用
たとえば、ミッションクリティカルなデータベース システムで、データベースの完全バックアップを毎晩午前 0 時に作成し、データベースの差分バックアップを月曜日から土曜日まで 1 時間ごとに作成し、トランザクション ログのバックアップを 1 日中 10 分間隔で作成するとします。データベースを水曜日の午前 5 時 19 分の状態に復元するには、次のようにします。
- 火曜日の午前 0 時に作成したデータベースの完全バックアップを復元します。
- 水曜日の午前 5 時に作成したデータベースの差分バックアップを復元します。
- 水曜日の午前 5 時 10 分に作成したトランザクション ログのバックアップを適用します。
- 水曜日の午前 5 時 20 分に作成したトランザクション ログのバックアップを適用し、午前 5 時 19 分までに発生したトランザクションにだけ復旧処理を適用するように指定します。
データベースを木曜日の午前 3 時 4 分の状態に復元する必要があり、木曜日の午前 3 時に作成したデータベースの差分バックアップがない場合は、次のようにします。
- 水曜日の午前 0 時に作成したデータベース バックアップを復元します。
- 木曜日の午前 2 時に作成したデータベースの差分バックアップを復元します。
- 木曜日の午前 2 時 10 分から 3 時までに作成したすべてのトランザクション ログのバックアップを適用します。
- 木曜日の午前 3 時 10 分に作成したトランザクション ログ バックアップを適用し、復旧処理を午前 3 時 4 分で停止します。
バックアップの作成
データベースのバックアップを作成するには
データベースの差分バックアップを作成するには
トランザクション ログのバックアップを作成するには
現在アクティブなトランザクション ログのバックアップを作成するには
SQL Server 管理オブジェクト (SMO) を使用してバックアップを作成するには
- SqlBackup
バックアップの復元
データベースのバックアップを復元するには
データベースの差分バックアップを復元するには
トランザクション ログのバックアップを適用するには
SQL Server 管理オブジェクト (SMO) を使用してバックアップを復元するには
参照
概念
SQL Server におけるバックアップと復元のパフォーマンスの最適化
SQL Server での復旧のパフォーマンスについて
トランザクション ログのバックアップ
その他の技術情報
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)