ファイルとファイル グループを復元する方法 (Transact-SQL)

このトピックでは、ファイルとファイル グループを復元する方法について説明します。

重要な注意事項重要

ファイルとファイル グループの復元中は、復元作業を実行するシステム管理者以外は、復元されるデータベースを使用しないでください。

ファイルとファイル グループを復元するには

  1. RESTORE DATABASE ステートメントを実行して、ファイルとファイル グループのバックアップを復元します。そのとき、以下を指定します。

    • 復元するデータベースの名前。

    • 復元するデータベースの完全バックアップが格納されているバックアップ デバイス。

    • 復元する各ファイルに対応する FILE 句。

    • 復元する各ファイル グループに対応する FILEGROUP 句。

    • NORECOVERY 句。バックアップ作成後にファイルが変更されていない場合は、RECOVERY 句を指定します。

    重要な注意事項重要

    暗号化されたデータベースを復元するには、データベースの暗号化に使用された証明書または非対称キーにアクセスできることが必要です。証明書または非対称キーがないと、データベースは復元できません。このため、バックアップが必要である間は、データベース暗号化キーの暗号化に使用する証明書を保持しておく必要があります。詳細については、「SQL Server の証明書と非対称キー」を参照してください。

  2. ファイル バックアップの作成後にファイルが変更された場合は、RESTORE LOG ステートメントを実行して、トランザクション ログ バックアップを適用します。そのとき、以下を指定します。

    • トランザクション ログが適用されるデータベースの名前。

    • 復元するトランザクション ログのバックアップが格納されているバックアップ デバイス。

    • NORECOVERY 句。現在のトランザクション ログ バックアップを適用した後、別のバックアップがある場合に指定します。それ以外の場合は RECOVERY 句を指定します。

      トランザクション ログ バックアップを適用する場合、そのバックアップには、ファイルとファイル グループのバックアップが作成された時刻の情報が格納されている必要があります (すべてのデータベース ファイルを復元する場合を除く)。

注意

SQL Server 2005 または SQL Server 2000 のデータベースを SQL Server 2008 に復元した後は、データベースが直ちに使用可能となり、自動的にアップグレードされます。データベースにフルテキスト インデックスがある場合、アップグレード プロセスでは、upgrade_optionサーバー プロパティの設定に応じて、インポート、リセット、または再構築が行われます。アップグレード オプションがインポート (upgrade_option = 2) または再構築 (upgrade_option = 0) に設定されている場合、アップグレード中はフルテキスト インデックスを使用できなくなります。インデックスを作成するデータ量によって、インポートには数時間、再構築には最大でその 10 倍の時間がかかることがあります。なお、アップグレード オプションがインポートに設定されており、フルテキスト カタログが使用できない場合は、関連付けられたフルテキスト インデックスが再構築されます。upgrade_option サーバー プロパティの設定を変更するには、sp_fulltext_service を使用します。

使用例

この例では、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
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
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

関連項目

参照

概念