適用対象:SQL Server
このトピックは、複数のファイルやファイル グループを含む、完全復旧モデルの SQL Server データベースに関連しています。
段階的な部分復元シーケンスでは、プライマリ ファイル グループからすべての読み取り/書き込みセカンダリ ファイル グループの順に、ファイル グループ レベルで段階的にデータベースが復元および復旧されます。
この例では、完全復旧モデルを使用する adbというデータベースに 3 つのファイル グループが含まれているとします。 ファイル グループ A は読み取り/書き込みが可能で、ファイル グループ B とファイル グループ C は読み取り専用です。 最初は、すべてのファイル グループがオンラインです。
データベース B のプライマリ ファイル グループとファイル グループ adb が破損しているようです。 プライマリ ファイル グループは比較的サイズが小さいので、すぐに復元できます。 データベース管理者は、段階的な部分復元シーケンスを使用して、これらのファイル グループを復元することにしました。 まず、プライマリ ファイル グループと後続のトランザクション ログを復元し、データベースを復旧します。
変更されていないファイル グループ A と C には重要なデータが含まれています。 そのため、できるだけ早くオンラインに戻せるよう、次にそれらが復旧されます。 最後に、破損したセカンダリ ファイル グループ Bを復元および復旧します。
シーケンスの復元
注
オンライン復元シーケンスでは、オフライン復元シーケンスと同じ構文を使用します。
データベース
adbのログ末尾のバックアップを作成します。 データベースの復旧ポイントに対して、破損していないファイル グループAおよびCを最新の状態にするには、この手順が必要です。BACKUP LOG adb TO tailLogBackup WITH NORECOVERYプライマリ ファイル グループの部分復元を行います。
RESTORE DATABASE adb FILEGROUP='Primary' FROM backup WITH PARTIAL, NORECOVERY RESTORE LOG adb FROM log_backup1 WITH NORECOVERY RESTORE LOG adb FROM log_backup2 WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERYこの時点で、プライマリはオンラインです。 ファイル グループ
A、B、およびCはオフラインで、これらのファイル グループのファイルは復旧待ち状態です。ファイル グループ
AとCをオンライン復元します。これらのファイル グループのデータは破損していないため、バックアップから復元する必要はありません。ただし、これらのファイル グループをオンラインにするために、復旧する必要があります。
データベース管理者は、すぐにファイル グループ
AとCを復旧します。RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERYこの時点で、プライマリ ファイル グループ、ファイル グループ
A、およびファイル グループCはオンラインです。 ファイル グループBはオフラインで、このファイル グループのファイルは復旧待ち状態のままです。ファイル グループ
Bをオンライン復元します。
ファイル グループ B のファイルは、これ以降の任意の時点で復元します。
注
ファイル グループ B のバックアップは、そのファイル グループが読み取り専用になった後に取得されたため、これらのファイルをロールフォワードする必要はありません。
RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY
すべてのファイル グループがオンラインになります。