SQL Server回復モデル

回復モデル完全なログファイルに対するディスクスペースのバランスをとる

SQL Serverには、SQL Serverがログファイルを管理する方法を指定できる3つの回復モデルが用意されています。 これらのそれぞれは、ディスク領域の節約と詳細なディザスタリカバリオプションの提供とのトレードオフのバランスをとるための異なるアプローチを表しています。 SQL Serverによって提供される3つの災害復旧モデルは次のとおりです。

これらのモデルのそれぞれについてさらに詳しく見ていきましょう。

シンプルリカバリモデル

シンプルなリカバリモデルは簡単です:単純です。 この方法では、SQL Serverはトランザクションログに最小限の情報しか保持しません。 SQL Serverは、データベースがトランザクションチェックポイントに達するたびにトランザクションログを切り捨て、災害復旧のためのログエントリは残されません。

シンプルリカバリモデルを使用するデータベースの場合、完全バックアップまたは差分バックアップのみをリストアできます。 このようなデータベースを特定の時点にリストアすることはできません。フルまたは差分バックアップが発生した正確な時刻にのみリストアできます。 したがって、最新の完全/差分バックアップの時刻と障害の発生時刻の間に行われたデータの変更は、自動的に失われます。

完全復旧モデル

フル・リカバリー・モデルには、自己記述的な名前も付いています。 このモデルでは、SQL Serverはバックアップするまでトランザクションログを保持します。 これにより、完全および差分のデータベースバックアップとトランザクションログバックアップの組み合わせを含む災害復旧計画を設計できます。

データベースに障害が発生した場合、完全復旧モデルを使用してデータベースを復元するのが最も柔軟です。 完全リカバリモデルでは、トランザクションログに保存されているデータ変更を保存するだけでなく、データベースを特定の時点にリストアすることもできます。 たとえば、誤った変更によって月曜日の午前2時36分にデータが破損した場合、SQL Serverのポイントインタイムリストアを使用してデータベースを2:35に戻し、エラーの影響を取り除くことができます。

バルクログ復旧モデル

バルクログ復旧モデルは、完全復旧モデルと同様に機能する特殊目的モデルです。 唯一の違いは、バルク・データ変更操作を処理する方法です。バルク・ログ・モデルは、 最小ロギングと呼ばれる手法を使用して、これらの操作をトランザクション・ログに記録します。 これにより、処理時間が大幅に短縮されますが、ポイントインタイムリストアオプションを使用できなくなります。

一括ログされた回復モデルは、短期間だけ使用することをお勧めします。 ベスト・プラクティスでは、バルク・オペレーションを実行する直前にデータベースをバルク・ロジカル・リカバリ・モデルに切り替え、それらのオペレーションが完了した時点で完全リカバリ・モデルにリストアすることを指示しています。

回復モデルの変更

回復モデルを表示または変更するには、SQL Server Management Studioを使用します。

  1. 関連するサーバーを選択します。SQL Serverデータベースエンジンの関連インスタンスに接続し、オブジェクトエクスプローラでサーバー名をクリックしてサーバーツリーを展開します。
  2. データベースを選択します。 データベースを展開し、データベースに応じて、ユーザーデータベースを選択するか、 システムデータベースを展開してシステムデータベースを選択します。
  3. データベースのプロパティを開きますデータベースを右クリックし、[ プロパティ ]をクリックして[ データベースのプロパティ ]ダイアログボックスを開きます。
  4. 現在の回復モデルを表示するページ選択ペインで、[ オプション ]をクリックして、現在の回復モデルの選択を表示します。
  5. 新しいリカバリモデルを選択します。 フル一括ログ 、またはシンプルのいずれかを選択します。
  6. [ OK]をクリックします。