例: 一部のファイル グループのみを復元する段階的な部分復元 (完全復旧モデル)
適用対象: SQL Server
このトピックは、複数のファイルやファイル グループを含む、完全復旧モデルの SQL Server データベースに関連しています。
段階的な部分復元シーケンスでは、プライマリ ファイル グループからすべての読み取り/書き込みセカンダリ ファイル グループの順に、ファイル グループ レベルで段階的にデータベースが復元および復旧されます。
この例では、完全復旧モデルを使用する adb
というデータベースに 3 つのファイル グループが含まれているとします。 ファイル グループ A
は読み取り/書き込みが可能で、ファイル グループ B
とファイル グループ C
は読み取り専用です。 最初は、すべてのファイル グループがオンラインです。
データベース B
のプライマリ ファイル グループとファイル グループ adb
が破損しているようです。 プライマリ ファイル グループは比較的サイズが小さいので、すぐに復元できます。 データベース管理者は、段階的な部分復元シーケンスを使用して、これらのファイル グループを復元することにしました。 まず、プライマリ ファイル グループと後続のトランザクション ログを復元し、データベースを復旧します。
変更されていないファイル グループ A
と C
には重要なデータが含まれています。 そのため、次にこれらのファイル グループをできるだけ早く復元して、オンラインにします。 最後に、破損したセカンダリ ファイル グループ B
を復元および復旧します。
復元シーケンス
Note
オンライン復元シーケンスでは、オフライン復元シーケンスと同じ構文を使用します。
データベース
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
のファイルは、これ以降の任意の時点で復元します。
Note
ファイル グループ B
のバックアップは、ファイルをロールフォワードする必要がないように、ファイル グループ B が読み取り専用になってから行います。
RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY
すべてのファイル グループがオンラインになります。
その他の例
参照
BACKUP (Transact-SQL)
オンライン復元 (SQL Server)
トランザクション ログ バックアップの適用 (SQL Server)
RESTORE (Transact-SQL)
段階的な部分復元 (SQL Server)