データベースの復旧モデルの選択

通常、テスト用または開発用データベースには、単純復旧モデルが適しています。これに対し運用データベースの場合は、完全復旧モデルを使用し、必要に応じて一括ログ復旧モデルで補完する方法が最も適しています。運用データベースの規模が小さく、そのデータベースを通常は読み取り専用として使用する場合や、データ ウェアハウスとして使用する場合などは、単純復旧モデルの方が適しています。

特定のデータベースに最も適した復旧モデルを判断するには、そのデータベースの復旧目標と復旧要件、およびログ バックアップを管理できるかどうかを考慮する必要があります。

注意

新しいデータベースは、model データベースの復旧モデルを継承します。

復旧目標と復旧要件の決定

データベースに最も適した復旧モデルを選択するには、そのデータベースの復旧目標と復旧要件について検討します。次の事項を考慮して、データの可用性要件やデータ損失の重大度を判断してください。

復旧要件

  • 変更内容を損失しないことの重要度。

  • データを損失した場合、それらのデータを容易に再作成できるかどうか。

  • 論理的に一貫した状態にする必要があるデータベースが複数存在するかどうか。

    存在する場合は、Microsoft 分散トランザクション コーディネータ (MS DTC) トランザクションの使用を検討します。詳細については、「MS DTC 分散トランザクション」を参照してください。

    注意

    完全復旧モデルでは、各関連データベースでトランザクションがマークされている場合、それらのデータベースを一貫性がある状態まで復旧できます。これを行うには、復旧ポイントとして同じトランザクション マークが付けられたデータベースをそれぞれ復元する必要があります。ただし、復旧ポイントのマークを使用すると、そのポイントの後にコミットされたトランザクションは失われます。詳細については、「マークされたトランザクションの使用 (完全復旧モデル)」を参照してください。

スタッフに関する考慮事項

専任のシステム管理者またはデータベース管理者の有無。管理者がいない場合、バックアップ操作と復旧操作の実行担当者、およびその教育方法。

データの使用パターン

各データベースに対し、次の問題について検討します。

  • データベース内のデータの変更頻度。

  • 特に頻繁に変更するテーブル。

  • 重大な実稼働期間の有無。重大な実稼働期間がある場合、これらの期間における使用パターン。データベースに、挿入操作やその他の更新操作のピーク期間があるかどうか。

    データのバックアップをピーク タイム以外の時間に行うようスケジュールに組み込むことができます。I/O システムが頻繁に使用されている場合は、通常、ログ バックアップのみを使用します。

  • 即時に検出されない危険な更新やアプリケーション エラーの影響をデータベースが受けるかどうか。

    影響を受ける場合、完全復旧モデルの使用を検討します。完全復旧モデルを使用すると、ログ バックアップを使用して特定の時点までデータベースを復旧することができます。

単純復旧モデルを使用する場合

以下がすべて当てはまる場合は、単純復旧モデルを使用してください。

  • 障害の発生時点までの復旧は必要ない。データベースが失われたり、損傷している場合、障害から以前のバックアップまでのすべての更新が失われてもかまわない。

  • ログ内のデータが失われてもかまわない。

  • トランザクション ログをバックアップおよび復元する手間を省いて、完全バックアップと差分バックアップのみを使用したい。

詳細については、「単純復旧モデルでのバックアップ」を参照してください。

完全復旧モデルを使用する場合

次のいずれかに当てはまる場合は、完全復旧モデルを (必要に応じて一括ログ復旧モデルと共に) 使用してください。

  • すべてのデータを復旧する必要がある。

  • データベースに複数のファイル グループが含まれており、読み取り/書き込み可能なセカンダリ ファイル グループ (および読み取り専用ファイル グループ) の段階的な部分復元を実行する必要がある。

  • 障害の発生時点まで復旧できる必要がある。

  • 個々のページを復元できる必要がある。

  • トランザクション ログ バックアップの管理コストを負担することが可能である。

詳細については、「完全復旧モデルでのバックアップ」を参照してください。

一括ログ復旧モデルを使用する場合

一括ログ復旧モデルは、厳密には完全復旧モデルを補うモデルとして位置付けられます。これは、大規模な一括操作を実行する期間、およびデータベースの特定の時点への復旧を必要としない期間にのみ使用することをお勧めします。

  • データベースに対して一括操作を定期的に実行するかどうか。

    この復旧モデルでは、ほとんどの一括操作は最小限しかログに記録されません。完全復旧モデルを使用する場合、そのような一括操作を実行する前に、一時的に一括ログ復旧モデルに切り替えることができます。一括ログ復旧モデルで最小限にログに記録される操作の詳細については、「最小ログ記録が可能な操作」を参照してください。

    一般に、一括ログ復旧モデルは、ほとんどの一括処理を最小限にログに記録する以外は、完全復旧モデルに似ています。トランザクション ログ バックアップでは、ログおよび、最後のバックアップ以降に完了した最小限にログ記録された操作の結果をキャプチャします。これにより、ログ バックアップがかなり大きくなる場合があります。したがって、一括ログ復旧モデルは、最小限のログ記録が可能な一括操作中にのみ使用するようにします。残りの時間は完全復旧モデルを使用することをお勧めします。一連の一括操作が完了したら、すぐに完全復旧モデルに戻すことをお勧めします。

制限事項を含め、一括ログ復旧モデルの詳細については、「一括ログ復旧モデルでのバックアップ」を参照してください。

各種復旧モデルでサポートされている復元操作の詳細については、「復元と復旧の概要 (SQL Server)」を参照してください。

データベースの復旧モデルの表示および変更

新しいデータベースは、model データベースの復旧モデルを継承します。model データベースの既定の復旧モデルは、SQL Server のエディションによって異なります。ただし、データベースで ALTER 権限を持つユーザーがこれを変更することができます。model データベースの現在の復旧モデルの表示方法については、「データベースの復旧モデルを表示または変更する方法 (SQL Server Management Studio)」を参照してください。

データベースの復旧モデルを表示または変更するには

復旧モデルを切り替えるには