データを復元せずにデータベースを復旧する方法
このトピックは、複数のファイル グループを含む SQL Server データベースのみに適用されます。
データは、復旧する前に復元するのが普通です。ただし、バックアップを復元しなくてもデータベースを復旧することは可能です。たとえば、データベースと一貫性のある読み取り専用ファイルの場合などです。これは、復旧のみの復元と呼ばれます。復旧のみの復元は、対象のデータが既にデータベースと一貫性があり、データを使用可能にするだけでよい場合に適しています。目標は、復旧を完了し、影響を受けるデータをオンラインにすることです。
復旧のみの復元操作では、オフラインのファイル グループ内のデータをオンラインにします。データのコピー フェーズ、再実行フェーズ、元に戻すフェーズはありません。復元の各フェーズに関する詳細については、「SQL Server でのバックアップの復元と復旧の動作について」を参照してください。
復旧のみの復元は、次のように、ファイル、ファイル グループ、またはデータベース全体に対して行うことができます。
復旧のみのファイル復元は、次の場合に役に立ちます。
データベースを段階的に部分復元する場合。プライマリ ファイル グループの復元が完了した後、復元されていないのに、新しいデータベースの状態と一貫性があるファイルが 1 つ以上ある場合。これはおそらく、しばらくの間読み取り専用であったことが原因です。このようなファイルに対して必要な作業は、復旧のみです。データをコピーする必要はありません。
復旧のみのファイル復元の RESTORE 構文は次のとおりです。
RESTORE DATABASE database_name { FILE **=**logical_file_name | FILEGROUP **=**logical_filegroup_name }[ ,...n ] WITH RECOVERY
復旧のみのデータベース復元は、次の場合に役に立ちます。
復元シーケンスで前回のバックアップを復元したときはデータベースを復旧しなかったが、現在そのデータベースを復旧してオンラインにする必要がある場合。
データベースがスタンバイ モードであり、別のログ バックアップを適用せずにそのデータベースを更新可能にする場合。
復旧のみのデータベース復元の RESTORE 構文は次のとおりです。
RESTORE DATABASE database_name WITH RECOVERY
注意 |
---|
復旧のみの復元にはバックアップは必要ないので、FROM = <backup_device> 句は使用しません。 |
データを復元せずにデータベースを復旧するには
例
次の例では、Sales データベースのセカンダリ ファイル グループ SalesGroup2 に含まれているファイルの復旧のみのファイル復元を示しています。プライマリ ファイル グループは段階的な部分復元の最初の手順で既に復元されており、SalesGroup2 は復元されたプライマリ ファイル グループと一貫性があります。このファイル グループを復旧してオンラインにするために必要なのは、次に示す 1 つのステートメントだけです。
RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;