復旧モデル (SQL Server)

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

このトピックの内容

  • 復旧モデルの概要

  • 関連タスク

復旧モデルの概要

次の表に、3 つの復旧モデルの概要を示します。

復旧モデル

説明

作業の損失の可能性

指定日時への復旧

単純

ログ バックアップはありません。

必要な領域が少なくなるように、ログ領域が自動的に再利用されます。このため、トランザクション ログ領域の管理は基本的に必要ありません。 単純復旧モデルでのデータベース バックアップの詳細については、「データベースの完全バックアップ (SQL Server)」を参照してください。

トランザクション ログ バックアップを必要とする操作は、単純復旧モデルではサポートされていません。 次の機能は単純復旧モードでは使用できません。

  • ログ配布

  • AlwaysOn またはデータベース ミラーリング

  • メディアの復旧 (データ損失なし)

  • 特定の時点に復元

最新のバックアップ以降の変更は保護されません。 障害が発生した場合、それらの変更は再実行する必要があります。

バックアップの終了時点にのみ復旧できます。 詳細については、「データベースの全体復元 (単純復旧モデル)」を参照してください。

完全

ログ バックアップが必要です。

データ ファイルの消失や損傷によって作業が失われることはありません。

アプリケーション エラーやユーザー エラーの発生前など、任意の時点に復旧できます。 完全復旧モデルでのデータベース バックアップの詳細については、「データベースの完全バックアップ (SQL Server)」および「データベースの全体復元 (完全復旧モデル)」を参照してください。

通常はありません。

ログの末尾が損傷している場合は、最新のログ バックアップ以降の変更を再実行する必要があります。

特定の時点に復旧できます (その時点までのバックアップが完全である場合)。 ログ バックアップを使用した障害発生時までの復元の詳細については、「SQL Server データベースを特定の時点に復元する方法 (完全復旧モデル)」を参照してください。

注意

完全復旧モデルのデータベースが複数あり、これらの論理的な一貫性が必要である場合、これらのデータベースを確実に復旧するための特別な手順の実装が必要になる場合があります。 詳細については、「マークされたトランザクションを含む関連データベースの復旧」を参照してください。

一括ログ

ログ バックアップが必要です。

完全復旧モデルを補完するためのもので、パフォーマンスに優れた一括コピー操作を実行できます。

ほとんどの一括操作で最小ログ記録を使用して、使用されるログ領域を縮小します。 最小ログ記録が可能な操作の詳細については、「トランザクション ログ (SQL Server)」を参照してください。

一括ログ復旧モデルでのデータベース バックアップの詳細については、「データベースの完全バックアップ (SQL Server)」および「データベースの全体復元 (完全復旧モデル)」を参照してください。

ログが損傷している場合、または最新のログ バックアップ以降に一括ログ操作が行われた場合は、最後のバックアップ以降の変更を再実行する必要があります。

それ以外の場合は、作業が失われることはありません。

バックアップの終了時点に復旧できます。 特定の時点への復旧はサポートされません。

関連タスク

関連項目

参照

backupset (Transact-SQL)

sys.databases (Transact-SQL)

ALTER DATABASE の SET オプション (Transact-SQL)

概念

SQL Server データベースのバックアップと復元

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

復元と復旧の概要 (SQL Server)

その他の技術情報

管理タスクの自動化 (SQL Server エージェント)