適用対象:SQL Server
このトピックは、1 つ以上の読み取り専用セカンダリ ファイル グループが含まれている単純復旧モデルのデータベースのみに関連しています。
ファイル復元の目標は、データベース全体を復元することなく 1 つ以上の破損したファイルを復元することです。 単純復旧モデルでは、読み取り専用ファイルだけにファイル バックアップがサポートされます。 プライマリ ファイル グループと読み取り/書き込みセカンダリ ファイル グループは、データベース バックアップまたは部分バックアップを復元することで、常に一緒に復元されます。
これらのファイル復元のシナリオは次のとおりです。
オフライン ファイル復元
オフライン ファイル復元では、破損したファイルまたはファイル グループを復元する間、データベースはオフラインになります。 データベースは、復元シーケンスの最後にオンラインになります。
SQL Server ではすべてのエディションで、オフラインのファイル復元がサポートされます。
オンライン ファイル復元
オンライン ファイル復元では、復元中にデータベースがオンラインであれば、データベースをオンラインにしたままファイル復元を実行できます。 ただし、復元操作時は、ファイルが復元される各ファイル グループがオフラインになります。 オフライン ファイル グループ内のすべてのファイルが復旧されると、そのファイル グループは自動的にオンラインになります。
オンライン ページおよびファイルの復元の詳細については、「データベース エンジンの機能とタスク」を参照してください。 オンライン復元の詳細については、「Online Restore (SQL Server)」 (オンライン復元 (SQL Server)) を参照してください。
ヒント
ファイル復元のためにデータベースをオフラインにする場合は、ALTER DATABASEALTER DATABASEdatabase_name OFFLINE ステートメントを実行して、復元シーケンスを開始する前にSETをオフラインにします。
単純復旧モデルでのファイルとファイル グループの復元の概要
ファイル復元のシナリオは、次に示すように、適切なデータをコピーし、ロールフォワードして、復旧する単一の復元シーケンスで構成されます。
破損した各ファイルを最新のファイル バックアップから復元します。
復元されたファイルごとに最新のファイルの差分バックアップを復元し、データベースを復旧します。
ファイル復元シーケンス用の Transact-SQL 手順 (単純復旧モデル)
このセクションでは、単純なファイル復元シーケンスに不可欠なTransact-SQLRESTOREオプションを示します。 説明の目的に関係しない構文や詳細は、省略しています。
復元シーケンスには、2 つの Transact-SQL ステートメントだけが含まれています。 1 つ目のステートメントは Aというセカンダリ ファイルを復元します。このファイルは、WITH NORECOVERY を指定して復元されます。 2 つ目の操作では、 B と C という他の 2 つのファイルを復元します。これらのファイルは、WITH RECOVERY を使用して異なるバックアップ デバイスから復元します。
RESTORE DATABASE データベース FILE =name_of_file_A
file_backup_of_file_A から
回復なし**;**
RESTORE DATABASE データベースFILE =name_of_file_B,name_of_file_C
FROM ファイルBとCのバックアップファイル
リカバリーあり**;**
例
関連タスク
ファイルおよびファイル グループを復元するには