数据库还原

来源:互联网 发布:中美贸易发展历程 数据 编辑:程序博客网 时间:2024/04/29 19:18

这种情况我通常用强制还原,语句我也不是很清楚。
你可以看看下面的例子。
如何用新的名称还原数据库 (Transact-SQL)
用新名称还原数据库

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


执行 RESTORE DATABASE 语句以还原数据库备份,同时指定:
数据库的新名称。


要从其中还原数据库备份的备份设备。


NORECOVERY 子句,前提是还原了文件备份后,还要应用事务日志备份。否则应指定 RECOVERY 子句。
如果要应用事务日志备份,则事务日志备份必须包含备份文件时的时间。

如果文件名已经存在,则为每个要还原到新位置的文件指定 MOVE 子句。例如,在同一台服务器上创建现有数据库的复本以便用于测试可能是必要的。在这种情况下,由于原始数据库的数据库文件已经存在,因此在还原操作期间,创建数据库复本时需要指定不同的文件名。

下例创建一个称为 MyNwind2_Test 的新数据库。MyNwind2_Test 是现有 MyNwind2 数据库的复本,它包含两个文件:MyNwind2_data 和 MyNwind2_log。由于 MyNwind2 数据库已经存在,因此在还原操作期间需要移动备份中的文件。RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件的数目和逻辑及物理名称。

USE master
GO
-- First determine the number and names of the files in the backup.
-- MyNwind_2 is the name of the backup device.
RESTORE FILELISTONLY
FROM MyNwind_2
-- Restore the files for MyNwind2_Test.
RESTORE DATABASE MyNwind2_Test
FROM MyNwind_2
WITH RECOVERY,
MOVE 'MyNwind2_data' TO 'D:/MyData/MyNwind2_Test_data.mdf',
MOVE 'MyNwind2_log' TO 'D:/MyData/MyNwind2_Test_log.ldf'
GO 

原创粉丝点击