既存のファイルにファイルとファイル グループを復元する方法 (Transact-SQL)
このトピックでは、既存のファイルにファイルとファイル グループを復元する方法を説明します。
重要 |
---|
復元するデータベースは、ファイルとファイル グループの復元作業を行うシステム管理者以外のユーザーによって使用されていない状態にしておく必要があります。 |
ファイルとファイル グループを既存のファイルに復元するには
RESTORE DATABASE ステートメントを実行して、ファイルとファイル グループのバックアップを復元します。そのとき、以下を指定します。
復元するデータベースの名前。
復元するデータベースの完全バックアップが格納されているバックアップ デバイス。
復元する各ファイルに対応する FILE 句。
復元する各ファイル グループに対応する FILEGROUP 句。
REPLACE オプション。各ファイルを、同じ名前および同じ場所の既存のファイルに復元できるよう指定します。
注意 REPLACE オプションは慎重に使用してください。詳細については、「REPLACE オプションの使用」を参照してください。
NORECOVERY オプション。バックアップ作成後にファイルが変更されていない場合は、RECOVERY 句を指定します。
ファイル バックアップの作成後にファイルが変更された場合は、RESTORE LOG ステートメントを実行して、トランザクション ログ バックアップを適用します。そのとき、以下を指定します。
トランザクション ログが適用されるデータベースの名前。
復元するトランザクション ログのバックアップが格納されているバックアップ デバイス。
NORECOVERY 句。現在のトランザクション ログ バックアップを適用した後、別のバックアップがある場合に指定します。それ以外の場合は RECOVERY 句を指定します。
トランザクション ログ バックアップを適用する場合、そのバックアップには、ファイルとファイル グループのバックアップが作成された時刻の情報が格納されている必要があります。
使用例
次の例では、MyNwind データベースのファイルとファイル グループを復元し、同じ名前の既存のファイルを置き換えます。データベースを現在の時刻に復元するために、2 つのトランザクション ログも適用されます。
USE master
GO
-- Restore the files and filesgroups for MyNwind.
RESTORE DATABASE MyNwind
FILE = 'MyNwind_data_1',
FILEGROUP = 'new_customers',
FILE = 'MyNwind_data_2',
FILEGROUP = 'first_qtr_sales'
FROM MyNwind_1
WITH NORECOVERY,
REPLACE
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log1
WITH NORECOVERY
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log2
WITH RECOVERY
GO
USE master
GO
-- Restore the files and filesgroups for MyNwind.
RESTORE DATABASE MyNwind
FILE = 'MyNwind_data_1',
FILEGROUP = 'new_customers',
FILE = 'MyNwind_data_2',
FILEGROUP = 'first_qtr_sales'
FROM MyNwind_1
WITH NORECOVERY,
REPLACE
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log1
WITH NORECOVERY
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log2
WITH RECOVERY
GO