如何将文件还原到新位置 (Transact-SQL)

本主题介绍如何将文件还原到新位置。

ms190255.note(zh-cn,SQL.90).gif重要提示:
还原文件的系统管理员必须是唯一一位当前使用要还原的数据库的人。

将文件还原到新位置

  1. (可选)执行 RESTORE FILELISTONLY 语句,以确定完整数据库备份中的文件数及名称。

  2. 执行 RESTORE DATABASE 语句可以还原完整数据库备份,同时指定:

    • 要还原的数据库的名称。
    • 从中还原完整数据库备份的备份设备。
    • 为每个要还原到新位置的文件指定 MOVE 子句。
    • NORECOVERY 子句。
  3. 如果在创建文件备份之后对文件进行了修改,则执行 RESTORE LOG 语句以应用事务日志备份,同时指定下列内容:

    • 事务日志将应用到的数据库的名称。
    • 要还原的事务日志备份的备份设备。
    • 如果在应用当前事务日志备份之后还要应用其他事务日志备份,则指定 NORECOVERY 子句;否则指定 RECOVERY 子句。
      事务日志备份(如果已应用)必须包含备份文件和文件组时的时间。

示例

以下示例将把 MyNwind 数据库中原来位于驱动器 C 上的两个文件还原到驱动器 D 上的新位置。为了将数据库还原到当前时间,还将应用两个事务日志。RESTORE FILELISTONLY 语句用于确定数据库中要还原的文件数以及这些文件的逻辑名称和物理名称。

USE master
GO
-- First determine the number and names of the files in the backup.
RESTORE FILELISTONLY
   FROM MyNwind_1
-- Restore the files for MyNwind.
RESTORE DATABASE MyNwind
   FROM MyNwind_1
   WITH NORECOVERY,
   MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
   MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf'
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

请参阅

概念

通过备份和还原来复制数据库

其他资源

RESTORE (Transact-SQL)
SQL Server Management Studio 教程

帮助和信息

获取 SQL Server 2005 帮助