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

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

このトピックの内容

  • 作業を開始する準備:

    推奨事項

    セキュリティ

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

    SQL Server Management Studio

    Transact-SQL

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

  • 関連タスク

作業を開始する準備

推奨事項

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

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

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

    • 一括処理中に行われたすべての変更が、ログ バックアップを行うかどうかに関係なく復旧可能な場合 (一括処理の再実行など)。

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

USE master ;
ALTER DATABASE model SET RECOVERY FULL ;

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

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

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

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

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

      注意

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

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

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

      注意

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

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

      重要な注意事項重要

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

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

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

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

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連タスク

関連コンテンツ

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連項目

参照

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

概念

復旧モデル (SQL Server)

トランザクション ログ (SQL Server)

復旧モデル (SQL Server)