例:プライマリ ファイル グループと他の 1 つのファイル グループをオフラインで復元する (完全復旧モデル)

適用対象:SQL Server

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

この例では、 adb というデータベースに 3 つのファイル グループが含まれているとします。 ファイル グループ A とファイル グループ C は読み取り/書き込みが可能で、ファイル グループ B は読み取り専用です。 プライマリ ファイル グループとファイル グループ B は破損していますが、ファイル グループ A とファイル グループ C は破損していません。 障害が発生する前は、すべてのファイル グループがオンラインになっていました。

データベース管理者は、プライマリ ファイル グループとファイル グループ Bを復元および復旧することにしました。 データベースでは完全復旧モデルを使用しているため、復元を開始する前に、データベースのログ末尾のバックアップを作成する必要があります。 データベースがオンラインになると、ファイル グループ A とファイル グループ C は自動的にオンラインになります。

注意

オフライン復元シーケンスは、読み取り専用ファイルのオンライン復元の場合に比べ、少ない手順で済みます。 例については、「 例: Read-Only ファイルのオンライン復元 (完全復旧モデル)」を参照してください。 ただし、オフライン復元中は、データベース全体がオフラインになります。

ログ末尾のバックアップ

データベースの管理者は、データベースを復元する前に、ログの末尾をバックアップする必要があります。 データベースが破損しているため、ログ末尾のバックアップを作成するには、NO_TRUNCATE オプションを使用する必要があります。

BACKUP LOG adb TO tailLogBackup   
   WITH NORECOVERY, NO_TRUNCATE  

ログ末尾のバックアップは、次の復元シーケンスの最後に適用されます。

復元シーケンス

プライマリ ファイル グループとファイル グループ Bを復元するために、データベース管理者は、次に示すように、PARTIAL オプションを使用せずに復元シーケンスを使用します。

RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
WITH NORECOVERY  
RESTORE DATABASE adb FILEGROUP='B' FROM backup2   
WITH NORECOVERY  
RESTORE LOG adb FROM backup3 WITH NORECOVERY  
RESTORE LOG adb FROM backup4 WITH NORECOVERY  
RESTORE LOG adb FROM backup5 WITH NORECOVERY  
RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  

復元しないファイルは、自動的にオンラインになります。 これで、すべてのファイル グループがオンラインになります。

参照

オンライン復元 (SQL Server)
段階的な部分復元 (SQL Server)
ファイル復元 (完全復旧モデル)
トランザクション ログ バックアップの適用 (SQL Server)
RESTORE (Transact-SQL)