リストア処理のタイプ
SnapCenter を使用すると、 SQL Server リソースに対してさまざまなタイプのリストア処理を実行できます。
-
最新の状態にリストアします
-
前の時点にリストアします
最新の状態または過去のある時点にリストアできるのは、次の場合です。
-
SnapMirror または SnapVault セカンダリストレージからリストアする
-
別のパス(場所)にリストアする
SnapCenter はボリュームベースの SnapRestore をサポートしていません。 |
最新の状態にリストアします
最新の状態へのリストア処理(デフォルト)では、障害発生時点までデータベースがリカバリされます。SnapCenter では、この処理が次の順序で行われます。
-
データベースをリストアする前に、最後のアクティブトランザクションログがバックアップされます。
-
選択したフルデータベースバックアップからデータベースがリストアされます。
-
データベースにコミットされていないすべてのトランザクションログが適用されます(バックアップ作成時から現時点までのバックアップのトランザクションログを含む)。
トランザクションログは事前に移動され、選択したデータベースに適用されます。
最新の状態へのリストア処理を実行するには、連続したトランザクションログセットが必要です。
SnapCenter では、ログ配布バックアップファイルから SQL Server データベーストランザクションログをリストアできないため(ログ配布はプライマリサーバインスタンス上のプライマリデータベースから別のセカンダリサーバインスタンス上の 1 つ以上のセカンダリデータベースにトランザクションログバックアップを自動的に送信する機能です)。 トランザクションログバックアップから最新の状態へのリストア処理を実行することはできません。このため、 SnapCenter を使用して SQL Server データベースのトランザクションログファイルをバックアップする必要があります。
すべてのバックアップに最新の状態へのリストア機能を使用する必要がない場合は、バックアップポリシーを使用してシステムのトランザクションログバックアップ保持を設定できます。
最新の状態へのリストア処理の例
SQL Server バックアップを毎日正午に実行している状況で、水曜日の午後 4 時に実行しているとしますバックアップからリストアする必要があります。何らかの理由により、水曜日の正午のバックアップの検証に失敗したため、火曜日の正午のバックアップを使用してリストアを実行することにしました。バックアップのリストアが終了すると、火曜日のバックアップの作成時にコミットされていなかったトランザクションログから、水曜日の午後 4 時に書き込まれた最新のトランザクションログまでの、すべてのトランザクションログが再生され、リストアしたデータベースに適用されます(トランザクションログがバックアップされていた場合)。
前の時点にリストアします
ポイントインタイムリストア処理では、データベースが過去の特定の時点にリストアされます。ポイントインタイムリストア処理は次の状況で発生します。
-
バックアップトランザクションログの所定の時刻までデータベースをリストアする。
-
データベースをリストアし、一部のバックアップトランザクションログだけを適用する。
データベースをある時点までリストアすると、新しいリカバリパスが発生します。 |
次の図は、ポイントインタイムリストア処理を実行した場合の問題を示しています。
この図のリカバリパス 1 では、フルバックアップが作成され、その後複数のトランザクションログバックアップが作成されます。データベースをある時点にリストアします。ポイントインタイムリストア処理のあとに新しいトランザクションログバックアップが作成されるため、リカバリパス 2 になります。新しいトランザクションログバックアップが作成されるときに、新しいフルバックアップは作成されません。データ破損などの問題が原因で、新しいフルバックアップが作成されるまで現在のデータベースをリストアできません。また、リカバリパス 2 で作成されたトランザクションログを、リカバリパス 1 のフルバックアップに適用することはできません。
トランザクションログバックアップを適用する場合は、バックアップされたトランザクションの適用を終了する日時も指定できます。このためには、指定可能な範囲内の日時を指定します。指定した時点より前にコミットされていないトランザクションは SnapCenter によって削除されます。この方法を使用すると、破損が発生する前の時点にデータベースをリストアしたり、誤って削除したデータベースやテーブルをリカバリしたりすることができます。
ポイントインタイムリストア処理の例
フルデータベースバックアップを午前 0 時に 1 回、トランザクションログバックアップを 1 時間ごとに実行しているとします。午前 9 時 45 分にデータベースがクラッシュしましたが、その後も障害が発生したデータベースのトランザクションログのバックアップは続けたとします。次に示すポイントインタイムリストアのシナリオの中から選択できます。
-
午前 0 時に作成されたフルデータベースバックアップをリストアし、それ以後のデータベース変更については復元をあきらめる。(オプション: None )
-
フルデータベースバックアップをリストアし、午前 9 : 45 までのすべてのトランザクションログバックアップを適用する(オプション: Log until )
-
フルデータベースバックアップをリストアし、最後のトランザクションログバックアップセットからリストアするトランザクションの時刻を指定して、トランザクションログバックアップを適用する。(オプション: By specific time )
この場合、特定のエラーが報告された日時を計算します。指定した日時までにコミットされていなかったトランザクションはすべて削除されます。