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

SQL Server データベースをエラーから復旧するには、データベース管理者が論理的に正しく意味のある復元シーケンスで一連の SQL Server バックアップを復元する必要があります。 SQL Server の復元および復旧では、次に示すように、データベース全体、データ ファイル、またはデータ ページの各バックアップからのデータの復元をサポートしています。

  • データベース (データベースの全体復元)

    データベース全体を復元および復旧します。復元および復旧の操作中は、データベースはオフラインになります。

  • データ ファイル (ファイル復元)

    データ ファイルまたはファイルのセットを復元および復旧します。 ファイル復元中は、ファイルを含むファイル グループが自動的にオフラインになります。 オフラインのファイル グループにアクセスするとエラーが発生します。

  • データ ページ (ページ復元)

    完全復旧モデルまたは一括ログ復旧モデルでは、個々のデータベースを復元できます。 ページ復元は、ファイル グループの数に関係なく、どのデータベースでも実行できます。

SQL Server のバックアップと復元は、64 ビット システムか 32 ビット システムかに関係なく、サポートされるすべてのオペレーティング システムで機能します。 サポートされるオペレーティング システムについては、「SQL Server 2012 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。 以前のバージョンの SQL Server からのバックアップに対するサポートの情報については、「RESTORE (Transact-SQL)」の「互換性サポート」のセクションを参照してください。

このトピックの内容

  • 復元シナリオの概要

  • 復旧モデルとサポートされる復元操作

  • 単純復旧モデルの復元に関する制限事項

  • 一括ログ復旧モデルを使用した復元

  • データベース復旧アドバイザー (SQL Server Management Studio)

  • 関連タスク

  • 関連コンテンツ

復元シナリオの概要

SQL Server の復元シナリオとは、1 つ以上のバックアップからデータを復元した後にデータベースを復旧するプロセスです。 サポートされている復元シナリオは、データベースの復旧モデルおよび SQL Server のエディションによって異なります。

次の表では、さまざまな復旧モデルでサポートされている復元シナリオについて説明しています。

復元シナリオ

単純復旧モデルの場合

完全/一括ログ復旧モデルの場合

データベースの全体復元

基本的な復元ストラテジです。 データベースの全体復元では、データベースの完全バックアップを復元し復旧するだけになる場合があります。 また、データベースの完全バックアップを復元した後で差分バックアップを復元し復旧する場合もあります。

詳細については、「データベースの全体復元 (単純復旧モデル)」を参照してください。

基本的な復元ストラテジです。 データベースの全体復元を行うには、データベースの完全バックアップと差分バックアップ (存在する場合) を復元し、その後で後続のすべてのログ バックアップを順番に復元する必要があります。差分バックアップの復元は省略できます。 データベースの全体復元を完了するには、最新のログ バックアップを復旧して、さらにそれを復元します (RESTORE WITH RECOVERY)。

詳細については、「データベースの全体復元 (完全復旧モデル)」を参照してください。

ファイル復元 *

データベース全体を復元することなく、破損した 1 つ以上の読み取り専用ファイルを復元します。 ファイル復元は、データベースに読み取り専用のファイル グループが少なくとも 1 つ含まれている場合だけ使用できます。

データベース全体を復元することなく、1 つ以上のファイルを復元します。 ファイル復元は、データベースがオフラインのときに実行できますが、SQL Server 2005 以降のバージョンのエディションによってはオンラインのままでも実行できます。 ファイル復元の間、復元対象のファイルを含むファイル グループは常にオフラインです。

ページ復元

該当なし

破損した 1 つ以上のページを復元します。 ページ復元は、データベースがオフラインのときに実行できますが、SQL Server 2005 以降のバージョンのエディションによってはオンラインのままでも実行できます。 ページ復元の間、復元対象のページは常にオフラインです。

現在のログ ファイルまで、ログ バックアップのチェーンが途切れていないことが必要です。ページを現在のログ ファイルまでの最新状態にするためには、それまでのログ バックアップをすべて適用する必要があります。

詳細については、「ページ復元 (SQL Server)」を参照してください。

段階的な部分復元 *

データベースをファイル グループ レベルで段階的に復元および復旧します。プライマリ ファイル グループとすべての読み書き可能セカンダリ ファイル グループの復元から行います。

データベースをファイル グループ レベルでプライマリ ファイル グループから段階的に復元および復旧します。

* オンライン復元は、SQL Server 2005 Enterprise Edition 以降のバージョンでのみサポートされます。

SQL Server データベース エンジンでは、データの復元方法に関係なく、データベース全体の論理的な一貫性が確保されないと、データベースを復旧できません。 たとえば、ファイルを復元する場合、データベースとの一貫性を維持できるように十分なロールフォワードを行うまでは、ファイルを復旧してオンラインにすることはできません。

[先頭に戻る]

ファイルまたはページを復元する利点

データベース全体ではなく、ファイルやページを復元して復旧すると、次のような利点があります。

  • 復元するデータが少ないので、コピーと復旧にかかる時間が短縮されます。

  • SQL Server 2005 Enterprise Edition 以降のバージョンでは、ファイルまたはページを復元する場合、復元操作中にデータベース内の他のデータをオンラインのままにすることができます。

[先頭に戻る]

復旧モデルとサポートされる復元操作

データベースで使用できる復元操作は、そのデータベースの復旧モデルによって決まります。 次の表では、特定の復元シナリオごとに、各復旧モデルによりサポートされるかどうかと、どの程度までサポートされるかを示します。

復元操作

完全復旧モデル

一括ログ復旧モデル

単純復旧モデル

データの復旧

完全な復旧 (ログが使用可能な場合)。

一部データ損失の可能性。

最新の完全バックアップまたは差分バックアップ以降のデータが損失。

特定の時点での復元

ログ バックアップに含まれる任意の時点。

ログ バックアップに一括ログ記録された変更が含まれている場合は不可。

サポートされていません。

ファイル復元 *

完全にサポートされます。

場合によりサポートされます。**

読み取り専用セカンダリ ファイルの場合のみ使用可能です。

ページ復元 *

完全にサポートされます。

場合によりサポートされます。**

サポートされません。

段階的な (ファイル グループ レベルの) 部分復元 *

完全にサポートされます。

場合によりサポートされます。**

読み取り専用セカンダリ ファイルの場合のみ使用可能です。

* SQL Server 2005 Enterprise Edition 以降のバージョンでのみ使用できます。

** 必要な条件については、このトピックの「単純復旧モデルの復元に関する制限事項」を参照してください。

重要な注意事項重要

データベースの復旧モデルにかかわらず、SQL Server バックアップは、バックアップを作成したバージョンより古いバージョンの SQL Server では復元できません。 そのため、たとえば、SQL Server 2012 で作成されたバックアップは、SQL Server 2008 では復元できません。

[先頭に戻る]

単純復旧モデルでの復元シナリオ

単純復旧モデルの復元操作には次の制限があります。

  • ファイルの復元および段階的な部分復元は、読み取り専用のセカンダリ ファイル グループでのみ使用可能です。 これらの復元シナリオの詳細については、「ファイルの復元 (単純復旧モデル)」および「段階的な部分復元 (SQL Server)」を参照してください。

  • ページ復元は実行できません。

  • 特定の時点への復元は実行できません。

これらの制限事項のいずれかが復旧要件に適合しない場合は、完全復旧モデルの使用を検討することをお勧めします。 詳細については、「バックアップの概要 (SQL Server)」を参照してください。

重要な注意事項重要

データベースの復旧モデルにかかわらず、SQL Server バックアップは、バックアップを作成したバージョンより古いバージョンの SQL Server では復元できません。 そのため、たとえば、SQL Server 2012 で作成されたバックアップは、SQL Server 2008 では復元できません。

[先頭に戻る]

一括ログ復旧モデルを使用した復元

このセクションでは、一括ログ復旧モデルを使用した復元の考慮事項について説明します。一括ログ復旧モデルは、完全復旧モデルの補完のみを目的としたモデルです。

注意

一括ログ復旧モデルの概要については、「トランザクション ログ (SQL Server)」を参照してください。

全般的には、一括ログ復旧モデルは完全復旧モデルに似ており、完全復旧モデルで説明されている情報はどちらにも適用されます。 ただし、特定の時点への復旧とオンライン復元は、一括ログ復旧モデルの影響を受けます。

[先頭に戻る]

特定の時点への復旧に関する制限

一括ログ復旧モデルで作成されたログ バックアップに一括ログ記録された変更が含まれている場合、特定の時点への復旧は実行できません。 一括変更を含むログ バックアップに対して特定の時点への復旧を実行しようとすると、復元操作が失敗します。

オンライン復元に関する制限

オンライン復元シーケンスは、次の条件を満たしている場合のみ実行できます。

  • 復元シーケンスを開始する前に、必要なログ バックアップがすべて作成されていること。

  • オンライン復元シーケンスを開始する前に、一括変更のバックアップが作成されていること。

  • データベースに一括変更が存在する場合、すべてのファイルがオンラインであるか、機能していないこと (つまり、このデータベースの一部ではなくなっていること)。

上記の条件を満たしていない場合、オンライン復元シーケンスは失敗します。

注意

オンライン復元を開始する前に、完全復旧モデルに切り替えることをお勧めします。 詳細については、「復旧モデル (SQL Server)」を参照してください。

オンライン復元の実行方法の詳細については、「オンライン復元 (SQL Server)」を参照してください。

[先頭に戻る]

データベース復旧アドバイザー (SQL Server Management Studio)

データベース復旧アドバイザーにより、最適な復元シーケンスを実装する復元プランを容易に構築できるようになります。 お客様からご要望のあった、データベース復元に関するさまざまな既知の問題の解決や機能強化が実施されました。 データベース復旧アドバイザーによって導入された主な機能強化は次のとおりです。

  • 復元プラン アルゴリズム: 特に、複雑な復元シナリオの復元プランの構築に使用されるアルゴリズムが大幅に改善されました。 特定の時点への復元時の分岐シナリオなど、多数のエッジ ケースが以前のバージョンの SQL Server よりも効率的に処理されます。

  • 特定の時点への復元: データベース復旧アドバイザーにより、特定の時点へのデータベースの復元が大幅に簡素化されます。 バックアップの視覚的タイムラインにより、特定の時点への復元のサポートが大幅に強化されています。 この視覚的タイムラインにより、データベースを復元する際の目的の復旧ポイントとして適切な時点を特定できます。 タイムラインにより、分岐した復旧パス (複数の復旧分岐にまたがるパス) をたどることが容易になります。 特定の時点への復元プランには、目的の時点 (日時) への復元に関連するバックアップが自動的に含まれます。 詳細については、「SQL Server データベースを特定の時点に復元する方法 (完全復旧モデル)」を参照してください。

データベース復旧アドバイザーの詳細については、SQL Server Manageability の次のブログを参照してください。

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

関連コンテンツ

ありません。

[先頭に戻る]

関連項目

概念

バックアップの概要 (SQL Server)