リストアとは、バックアップからデータをコピーし、トランザクション・ログをデータに適用して、目的とするリカバリ時点の状態にロール・フォワードするプロセスです。バックアップには、各バックアップのリストア中にアクティブなトランザクションをロール・フォワードするために十分なトランザクション・ログの記録が保持されます。また、各バックアップには、コミットされていないトランザクションをロールバックし、データベースを整合性のある、使用可能な状態にするために十分なトランザクション・ログも保持されます。コミットされていないトランザクションをロールバックし、データベースをオンラインにするプロセスはリカバリと呼ばれます。
SQL Server®の各リストア・シナリオは、リストア・シーケンスと呼ばれる1つ以上のリストア・オペレーションを使用して実装します。リストア・シーケンスでは、1つ以上のリストア手順でデータを移動します。リストア手順には、データ・コピー、再実行(ロール・フォワード)、および元に戻す(ロールバック)手順があります。これらの手順について以下のトピックで説明します。
• |
再実行とは、ログに記録された変更をロールフォワード・セットのデータに再適用して、データを特定時点の状態に進めるプロセスです。SQL Server®データベース・エンジンは、トランザクション・ログのバックアップのリストア時に、このトランザクション・ログのバックアップを処理して再実行を行います。SQL Serverデータベース・エンジンは、上記のトピックのデータ・コピー・バックアップに含まれるログおよび、後でリストアされる増分トランザクション・ログのバックアップから開始します。ロール・フォワードは、リカバリ時点、つまり、ログの最後か、SQL Serverのリストア・オプションで増分トランザクション・ログのバックアップに対して指定された特定時点で停止します。Plug‑in for SQL Serverは、時間およびマーク付きトランザクションに基づくPITリカバリをサポートしています。
リカバリ・プロセスの開始時にデータのトランザクションの整合性が保たれている場合、元に戻す手順はスキップされます。
データベースでトランザクションの整合性が確保されると、リカバリによってデータベースがオンラインになります。
リストアを正しく実行するには、使用可能なリストアのタイプについて十分に理解しておく必要があります。このトピックでは、各復旧モデルでサポートされるリストア・シナリオについて説明します。
以下のリストア・シナリオは、単純復旧モデルでサポートされます。
• |
データベースの完全リストア:単純復旧モデル・データベースにおけるデータベースの完全リストアでは、データベース全体をリストアします。通常、このタイプのリストアでは、フル・データベースのバックアップをリストアするか、フル・データベースのバックアップに続いて差分データベースのバックアップをリストアします。データベースの完全リストアの実行中は、データベース全体がオフラインになります。 |
• |
ファイルのリストア:単純復旧モデル・データベースにおけるファイルのリストアでは、データベース全体をリストアするのではなく、損傷した1つ以上の読み取り専用ファイルをリストアします。このタイプのリストアでは、フル・ファイルおよびファイルグループのバックアップを使用します。 |
• |
データベースの部分リストア:単純復旧モデル・データベースの部分リストアでは、部分データベースのバックアップまたは差分部分データベースのバックアップ、あるいはその両方の対象となったプライマリ・ファイルグループとすべての読み書き可能ファイルグループをリストアします。読み取り専用ファイルグループが損傷した場合のみ、フル・ファイルおよびファイルグループのバックアップを使用して読み取り専用ファイルグループをリストアする必要があります。 |
以下のリストア・シナリオは、完全および一括ログ復旧モデルでサポートされます。
• |
データベースの完全リストア:完全および一括ログ復旧モデルでは、データベース全体を障害時点にリストアします。通常、完全リストア・シーケンスには、以下の事項が含まれます。 |
1 |
Tail-Logバックアップを実行します。 |
2 |
3 |
4 |
[NO RECOVERY 設定時]リストア・オプションを選択した状態で、以降のすべての増分トランザクション・ログのバックアップを順番にリストアします。 |
5 |
[RECOVERY設定時]リストア・オプションを選択して、Tail-Logバックアップをリストアし、リカバリします。 |
• |
ファイルのリストア:完全または一括ログ復旧モデル・データベースにおけるファイルのリストアでは、データベース全体をリストアするのではなく、損傷したファイルをリストアして、データベース全体をリストアします。このタイプのリストアでは、以下のリストア・シーケンスを実行します。 |
1 |
Tail-Logバックアップを実行します。 |
2 |
[NO RECOVERY設定時]リストア・オプションを選択した状態で、フル・ファイルまたはファイルグループのバックアップをリストアします。 |
3 |
[NO RECOVERY設定時]リストア・オプションを選択した状態で、差分ファイルおよびファイルグループのバックアップをリストアします。 |
4 |
[NO RECOVERY 設定時]リストア・オプションを選択した状態で、以降のすべての増分トランザクション・ログのバックアップを順番にリストアします。 |
5 |
[RECOVERY設定時]リストア・オプションを選択して、Tail-Logバックアップをリストアし、リカバリします。 |
• |
特定時点(PIT)リカバリ:増分トランザクション・ログのリストアによってリストアしたトランザクション・ログに対してPITリカバリを実行できます。Plug‑in for SQL Serverは、時間ベース(時:分:秒を使用)とマーク付きトランザクション・ベースのPITリカバリをサポートしています。PITリカバリ・オプションは、増分トランザクション・ログのバックアップおよびTail-Logバックアップをリストアする場合に使用できます。 |
• |
時間に基づくPint-in-Timeリカバリ:時間に基づくPITリカバリは、データの損傷時刻が分かっている場合に便利です。たとえば、開発者がテーブルを午前6:00:00に削除した場合、中止時刻を午前5:55:00に設定してPITリカバリを実行できます。時間に基づくPITリカバリは、関連付けられていないデータベースでのみ使用できるため、複数のSQL Server®データベースで論理的な整合性を保つ必要がある場合は、マーク付きトランザクションに基づくPITリカバリを使用してください。 |
• |
マーク付きトランザクションに基づく特定時点リカバリ:マーク付きトランザクションに基づく特定時点リカバリ:SQL Server 2005以降では、トランザクション・ログに名前付きマークを挿入し、特定マークへのリカバリを実行することができます。この機能は、論理的に整合性を保つ必要のある複数のデータベースがある場合に便利です。特殊な手順を実装することにより、リストア後にこれらのデータベースのリカバリ可能性を確保することができます。関連付けられたデータベースは、マーク付きトランザクションへのリカバリのみが可能であるため、バックアップを実行する前に、トランザクション・ログに名前付きマークを挿入するようアプリケーションを設定する必要があります。詳しくは、SQL Server Books Onlineの「Ensuring Recoverability of Related Databases」および「Recovering to a Marked Transaction」を参照してください。 |
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center