データベースの復旧モデルの表示または変更 (SQL Server)

適用対象:SQL Server (サポートされているすべてのバージョン)

この記事では、SQL Server Management Studioまたは Transact-SQL を使用してデータベースを表示または変更する方法について説明します。

復旧モデル は、トランザクションをログに記録する方法、トランザクション ログのバックアップを必須 (および可能) にするかどうか、利用できる復元操作の種類などを制御するデータベース プロパティです。 復旧モデルの種類は、単純、完全、および一括ログの 3 種類です。 通常、データベースには完全復旧モデルまたは単純復旧モデルが使用されます。 データベースは、任意の時点で別の復旧モデルに切り替えることができます。 model データベースは、新しいデータベースの既定の復旧モデルを設定します。

より詳しい説明については、復旧モデルに関するページをご覧ください。

開始する前に

  • 完全復旧モデルまたは一括ログ復旧モデルから切り替えるに、トランザクション ログをバックアップしてください

  • 一括ログ モデルでは、ポイントインタイム 復旧を実行できません。 トランザクション ログの復元を必要とする一括ログ復旧モデルでトランザクションを実行すると、データが失われる可能性があります。 障害復旧シナリオでデータをより確実に復旧するには、次の条件下でのみ一括ログ復旧モデルに切り替えることをお勧めします。

    • ユーザーが現在データベースで許可されていない場合。

    • 一括処理中に行われたすべての変更は、ログ バックアップを作成しなくても復旧できます。たとえば、一括プロセスを再実行します。

    これら 2 つの条件を満たすと、一括ログ復旧モデルでバックアップされたトランザクション ログを復元するときにデータ損失が発生することはありません。

    注意

    一括操作中に完全復旧モデルに切り替える場合は、一括操作のログ記録が最小ログ記録から完全ログ記録に変わり、また、その逆も同様です。

必要なアクセス許可

データベースに対する ALTER 権限が必要です。

SQL Server Management Studio を使用する

復旧モデルを表示または変更するには

  1. SQL Server データベース エンジンの適切なインスタンスに接続したら、オブジェクト エクスプローラーでサーバー名を選択してサーバー ツリーを展開します。

  2. [データベース] を展開します。さらに、そのデータベースに応じて、ユーザー データベースを選択するか、または [システム データベース] を展開してシステム データベースを選択します。

  3. データベースを右クリックし、[ プロパティ] を選択すると、[データベースの プロパティ ] ダイアログ ボックスが開きます。

  4. [ページの選択] ペインで [オプション] を選択します。

  5. [復旧モデル] ボックスの一覧に現在の復旧モデルが表示されています。

  6. 復旧モデルを変更する必要がある場合は、別のモデルをこの一覧で選択します。 選択できるのは、 [完全][一括ログ][単純] のいずれかです。

  7. [OK] を選択します。

Transact-SQL の使用

復旧モデルを表示するには

  1. データベース エンジンに接続します。

  2. 標準バーから、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sys.databases カタログ ビューにクエリを実行して、 model データベースの復旧モデルを確認する方法を示します。

SELECT name, recovery_model_desc  
   FROM sys.databases  
      WHERE name = 'model' ;  
GO  
  

復旧モデルを変更するには

  1. データベース エンジンに接続します。

  2. 標準バーから、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 model ALTER DATABASE FULL ステートメントの SET RECOVERY オプションを使用して、 データベース内の復旧モデルを に変更する方法を示します。

USE [master] ;  
ALTER DATABASE [model] SET RECOVERY FULL ;  

推奨事項: 復旧モデルを変更した後

  • 完全復旧モデルと一括ログ復旧モデルの切り替え後の処理

    • 一括操作の完了後、すぐに完全復旧モードに戻してください。

    • 一括ログ復旧モデルから完全復旧モデルに戻した後に、ログをバックアップしてください。

      注意

      バックアップ ストラテジは変更されません。つまり、データベースのバックアップ、ログ バックアップ、および差分バックアップが引き続き定期的に実行されます。

  • 単純復旧モデルからの切り替え後の処理

    • 完全復旧モデルまたは一括ログ復旧モデルに切り替えた直後に、データベースの完全バックアップまたはデータベースの差分バックアップを作成し、ログ チェーンを開始します。

      注意

      完全復旧モデルまたは一括ログ復旧モデルへの切り替えは、最初のデータ バックアップ後に有効になります。

    • 定期的なログ バックアップをスケジュールし、それに応じて復元プランを更新します。

      重要

      ログをバックアップします。 ログのバックアップ頻度が不十分な場合、トランザクション ログが拡大し、領域不足になる可能性があります!

  • 単純復旧モデルへの切り替え後の処理

    • トランザクション ログをバックアップするためのスケジュールが設定されたすべてのジョブを停止します。

    • 定期的なデータベースのバックアップがスケジュールされていることを確認します。 データの保護と、トランザクション ログのアクティブでない部分の切り捨ての両方にとって、データベースのバックアップは重要です。

関連タスク

関連コンテンツ

参照

復旧モデル (SQL Server)
トランザクション ログ (SQL Server)
ALTER DATABASE (Transact-SQL)
sys.databases (Transact-SQL)
復旧モデル (SQL Server)