例:一部のファイル グループのみを復元する段階的な部分復元 (完全復旧モデル)

適用対象:SQL Server

このトピックは、複数のファイルやファイル グループを含む、完全復旧モデルの SQL Server データベースに関連しています。

段階的な部分復元シーケンスでは、プライマリ ファイル グループからすべての読み取り/書き込みセカンダリ ファイル グループの順に、ファイル グループ レベルで段階的にデータベースが復元および復旧されます。

この例では、完全復旧モデルを使用する adbというデータベースに 3 つのファイル グループが含まれているとします。 ファイル グループ A は読み取り/書き込みが可能で、ファイル グループ B とファイル グループ C は読み取り専用です。 最初は、すべてのファイル グループがオンラインです。

データベース B のプライマリ ファイル グループとファイル グループ adb が破損しているようです。 プライマリ ファイル グループは比較的サイズが小さいので、すぐに復元できます。 データベース管理者は、段階的な部分復元シーケンスを使用して、これらのファイル グループを復元することにしました。 まず、プライマリ ファイル グループと後続のトランザクション ログを復元し、データベースを復旧します。

変更されていないファイル グループ AC には重要なデータが含まれています。 そのため、次にこれらのファイル グループをできるだけ早く復元して、オンラインにします。 最後に、破損したセカンダリ ファイル グループ Bを復元および復旧します。

復元シーケンス

注意

オンライン復元シーケンスでは、オフライン復元シーケンスと同じ構文を使用します。

  1. データベース adbのログ末尾のバックアップを作成します。 データベースの復旧ポイントに対して、破損していないファイル グループ A および C を最新の状態にするには、この手順が必要です。

    BACKUP LOG adb TO tailLogBackup WITH NORECOVERY  
    
  2. プライマリ ファイル グループの部分復元を行います。

    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  
    

    この時点では、プライマリ ファイル グループはオンラインです。 ファイル グループ AB、および C はオフラインで、これらのファイル グループのファイルは復旧待ち状態です。

  3. ファイル グループ ACをオンライン復元します。

    これらのファイル グループのデータは破損していないため、バックアップから復元する必要はありません。ただし、これらのファイル グループをオンラインにするために、復旧する必要があります。

    データベース管理者は、すぐにファイル グループ AC を復旧します。

    RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY  
    

    この時点で、プライマリ ファイル グループ、ファイル グループ A 、およびファイル グループ C はオンラインです。 ファイル グループ B はオフラインで、このファイル グループのファイルは復旧待ち状態のままです。

  4. ファイル グループ Bをオンライン復元します。

ファイル グループ B のファイルは、これ以降の任意の時点で復元します。

注意

ファイル グループ B のバックアップは、ファイルをロールフォワードする必要がないように、ファイル グループ B が読み取り専用になってから行います。

RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY  

すべてのファイル グループがオンラインになります。

その他の例

参照

BACKUP (Transact-SQL)
オンライン復元 (SQL Server)
トランザクション ログ バックアップの適用 (SQL Server)
RESTORE (Transact-SQL)
段階的な部分復元 (SQL Server)