データベースの差分バックアップを復元する方法 (Transact-SQL)

このトピックでは、データベースの差分バックアップを復元する方法について説明します。

データベースの差分バックアップを復元するには

  1. NORECOVERY 句を指定して RESTORE DATABASE ステートメントを実行し、データベースの差分バックアップの前に、データベースの完全バックアップを復元します。詳細については、「完全バックアップを復元する方法 (Transact-SQL)」を参照してください。

  2. RESTORE DATABASE ステートメントを実行して、データベースの差分バックアップを復元します。そのとき、以下を指定します。

    • データベースの差分バックアップを適用するデータベースの名前。
    • データベースの差分バックアップの復元元であるバックアップ デバイス。
    • NORECOVERY 句。データベースの差分バックアップを復元した後、適用するトランザクション ログ バックアップがある場合に指定します。それ以外の場合は、RECOVERY 句を指定します。
  3. 完全復旧モデルでも、一括ログ復旧モデルでも、データベースの差分バックアップの復元では、データベースの差分バックアップが完了した時点にデータベースが復元されます。障害の時点に遡ってデータベースを復旧するには、直前のデータベースの差分バックアップを作成した後に生成されたすべてのトランザクション ログ バックアップを適用する必要があります。詳細については、「トランザクション ログ バックアップを適用する方法 (Transact-SQL)」を参照してください。

使用例

A. データベース バックアップおよびデータベースの差分バックアップの復元

この例では、MyAdvWorks データベースのデータベース バックアップおよびデータベースの差分バックアップを復元します。

-- Assume the database is lost, and restore full database, 
-- specifying the original full database backup and NORECOVERY, 
-- which allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   RECOVERY
GO
B. データベース バックアップ、データベースの差分バックアップ、およびトランザクション ログ バックアップの復元

この例では、MyAdvWorks データベースのデータベース バックアップ、データベースの差分バックアップ、およびトランザクション ログ バックアップを復元します。

-- Assume the database is lost at this point. Now restore the full 
-- database. Specify the original full database backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   NORECOVERY
GO
-- Now restore each transaction log backup created after
-- the differential database backup.
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log1
   WITH NORECOVERY
GO
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log2
   WITH RECOVERY
GO

参照

処理手順

データベースの差分バックアップを作成する方法 (Transact-SQL)

概念

データベースの差分バックアップ
SQL Server におけるバックアップと復元のパフォーマンスの最適化

その他の技術情報

RESTORE (Transact-SQL)
SQL Server Management Studio のチュートリアル

ヘルプおよび情報

SQL Server 2005 の参考資料の入手