データベースの復旧モデルの表示または変更 (SQL Server)View or Change the Recovery Model of a Database (SQL Server)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを利用してデータベースを表示または変更する方法について説明します。This topic describes how to view or change the database by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

復旧モデル は、トランザクションをログに記録する方法、トランザクション ログのバックアップを必須 (および可能) にするかどうか、利用できる復元操作の種類などを制御するデータベース プロパティです。A recovery model is a database property that controls how transactions are logged, whether the transaction log requires (and allows) backing up, and what kinds of restore operations are available. 復旧モデルの種類は、単純、完全、および一括ログの 3 種類です。Three recovery models exist: simple, full, and bulk-logged. 通常、データベースには完全復旧モデルまたは単純復旧モデルが使用されます。Typically, a database uses the full recovery model or simple recovery model. データベースは、任意の時点で別の復旧モデルに切り替えることができます。A database can be switched to another recovery model at any time. model データベースは、新しいデータベースの既定の復旧モデルを設定します。The model database sets the default recovery model of new databases.

より詳しい説明については、復旧モデルに関するページをご覧ください。For a more in depth explanation, see recovery models.

はじめる前にBefore you begin

  • 完全復旧モデルまたは一括ログ復旧モデル に、 トランザクション ログをバックアップを利用してデータベースを表示または変更する方法について説明します。Back up the transaction log before switching from the full recovery or bulk-logged recovery model.

  • 一括ログ復旧モデルでは特定の時点に復旧できません。Point-in-time recovery is not possible with bulk-logged model. 一括ログ復旧モデルでトランザクション ログの復元を必要とするトランザクションを実行すると、データが失われる可能性があります。Running transactions under the bulk-logged recovery model that require a transaction log restore can exposed them to data loss. 障害復旧シナリオでデータをより確実に復旧するには、次の条件下でのみ一括ログ復旧モデルに切り替えることをお勧めします。To maximize data recoverability in a disaster-recovery scenario, switch to the bulk-logged recovery model only under the following conditions:

    • ユーザーが現在データベースで許可されていない場合。Users are currently not allowed in the database.

    • 一括処理中に行われたすべての変更が、ログ バックアップを行うかどうかに関係なく復旧可能な場合 (一括処理の再実行など)。All modifications made during bulk processing are recoverable without depending on taking a log backup; for example, by re-running the bulk processes.

    この 2 つの条件を満たす場合は、一括ログ復旧モデルでバックアップされたトランザクション ログの復元中に、データが失われることはありません。If you satisfy these two conditions, you will not be exposed to any data loss while restoring a transaction log that was backed up under the bulk-logged recovery model..

メモNote! 一括操作中に完全復旧モデルに切り替える場合は、一括操作のログ記録が最小ログ記録から完全ログ記録に変わり、また、その逆も同様です。If you switch to the full recovery model during a bulk operation, bulk operations logging changes from minimal logging to full logging, and vice versa.

必要な権限Required permissions

データベースに対する ALTER 権限が必要です。Requires ALTER permission on the database.

SQL Server Management Studio の使用Using SQL Server Management Studio

復旧モデルを表示または変更するにはTo view or change the recovery model

  1. 適切な SQL Server データベース エンジンSQL Server Database Engineのインスタンスへの接続後、オブジェクト エクスプローラーでサーバー名をクリックしてサーバー ツリーを展開します。After connecting to the appropriate instance of the SQL Server データベース エンジンSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. [データベース] を展開します。さらに、そのデータベースに応じて、ユーザー データベースを選択するか、または [システム データベース] を展開してシステム データベースを選択します。Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. データベースを右クリックし、 [プロパティ] をクリックすると、 [データベースのプロパティ] ダイアログ ボックスが開きます。Right-click the database, and then click Properties, which opens the Database Properties dialog box.

  4. [ページの選択] ペインの [オプション] をクリックします。In the Select a page pane, click Options.

  5. [復旧モデル] ボックスの一覧に現在の復旧モデルが表示されています。The current recovery model is displayed in the Recovery model list box.

  6. 復旧モデルを変更する必要がある場合は、別のモデルをこの一覧で選択します。Optionally, to change the recovery model select a different model list. 選択できるのは、 [完全][一括ログ][単純] のいずれかです。The choices are Full, Bulk-logged, or Simple.

  7. [OK] をクリックします。Click OK.

フィードバックをお待ちしております。 この記事の手順やコード例の中で、古い情報や間違っている情報を見つけた場合は、ぜひお知らせください。We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. このページの下部にある [フィードバック] セクション内で [このページ] ボタンをクリックしてください。You can click the This page button in the Feedback section at the bottom of this page. SQL に関するフィードバックのすべての項目に目を通しています (通常は翌日)。We read every item of feedback about SQL, typically the next day. よろしくお願いいたします。Thanks.

Transact-SQL の使用Using Transact-SQL

復旧モデルを表示するにはTo view the recovery model

  1. データベース エンジンDatabase Engineに接続します。Connect to the データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。From the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute. この例では、 sys.databases カタログ ビューにクエリを実行して、 model データベースの復旧モデルを確認する方法を示します。This example shows how to query the sys.databases catalog view to learn the recovery model of the model database.

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

復旧モデルを変更するにはTo change the recovery model

  1. データベース エンジンDatabase Engineに接続します。Connect to the データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。From the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute. この例では、 model ALTER DATABASE FULL ステートメントの SET RECOVERY オプションを使用して、 データベース内の復旧モデルを に変更する方法を示します。This example shows how to change the recovery model in the model database to FULL by using the SET RECOVERY option of the ALTER DATABASE statement.

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

推奨事項:復旧モデルを変更した後Recommendations: After you change the recovery model

  • 完全復旧モデルと一括ログ復旧モデルの切り替え後の処理After switching between the full and bulk-logged recovery models

    • 一括操作の完了後、すぐに完全復旧モードに戻してください。After completing the bulk operations, immediately switch back to full recovery mode.

    • 一括ログ復旧モデルから完全復旧モデルに戻した後に、ログをバックアップしてください。After switching from the bulk-logged recovery model back to the full recovery model, back up the log.

      注: バックアップ ストラテジは変更されません。つまり、データベースのバックアップ、ログ バックアップ、および差分バックアップが引き続き定期的に実行されます。NOTE: Your backup strategy remains the same: continue performing periodic database, log, and differential backups.

  • 単純復旧モデルからの切り替え後の処理After switching from the simple recovery model

    • 完全復旧モデルまたは一括ログ復旧モデルに切り替えた直後に、データベースの完全バックアップまたはデータベースの差分バックアップを作成し、ログ チェーンを開始します。Immediately after switching to the full recovery model or bulk-logged recovery model, take a full or differential database backup to start the log chain.

      注: 完全復旧モデルまたは一括ログ復旧モデルへの切り替えは、最初のデータ バックアップ後に有効になります。NOTE: The switch to the full or bulk-logged recovery model takes effect only after the first data backup.

    • 定期的なログ バックアップをスケジュールし、それに応じて復元プランを更新します。Schedule regular log backups, and update your restore plan accordingly.

      重要!!!!IMPORTANT!!!! ログをバックアップしてください!!Back up your logs!! ログのバックアップ頻度が不十分な場合、トランザクション ログが拡大し、領域不足になる可能性があります!If you do not back up the log frequently enough, the transaction log can expand until it runs out of disk space!

  • 単純復旧モデルへの切り替え後の処理After switching to the simple recovery model

    • トランザクション ログをバックアップするためのスケジュールが設定されたすべてのジョブを停止します。Discontinue any scheduled jobs for backing up the transaction log.

    • 定期的なデータベースのバックアップがスケジュールされていることを確認します。Ensure periodic database backups are scheduled. データの保護と、トランザクション ログのアクティブでない部分の切り捨ての両方にとって、データベースのバックアップは重要です。Backing up your database is essential both to protect your data and to truncate the inactive portion of the transaction log.

関連タスクRelated tasks

関連コンテンツRelated Content

参照See Also

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