bak文件还原的方法

--备份

BACKUP DATABASE mydb

TO DISK='c:/olddb.bak'

WITH INIT

 

--为了测试,把备份好的文件从C盘移动到D:/tempdb 文件夹

 

--还原

--1.用此语句得到备份文件的逻辑文件名:

RESTORE FILELISTONLY FROM DISK = N'd:/tempdb/olddb.bak' --备份文件存放路径

--看LogicalName,一般会有两个文件,如:

--olddb      --主逻辑文件名称

--olddb_log  --日志逻辑文件名称

 

--2.用以下语句还原数据库

RESTORE DATABASE new_db  

FROM DISK = 'd:/tempdb/olddb.bak'

WITH MOVE 'olddb' TO 'd:/tempdb/newdb.mdf',

MOVE 'olddb_log' TO 'd:/tempdb/newdb_log.ldf' 

 

/*--对以上代码补充说明:

RESTORE DATABASE 还原后数据库的名称 

FROM DISK = '备份文件的路径/备份数据库名称.bak'

WITH MOVE '主逻辑文件名称' TO '还原后的路径/还原后数据文件名称.mdf',

MOVE '日志逻辑文件名称' TO '还原后的路径/还原后日志文件名称_log.ldf' 

*/

 

--如果遇到页面错误乃至不能还原,可用以下误句强制还原,跳过页面错误:

RESTORE DATABASE dbname

FROM DISK='backupset_file'

WITH CONTINUE_AFTER_ERROR

 

--还原后用DBCC CHECKDB 修复数据库。

--注意:由于原始的备份集中有页面错误,还原后会有部分数据丢失。

 

以上是我转自别人的文章,我自己用的2008执行时发生错误,我将路径中的‘/’改成‘\’,顺利执行。

posted @ 2012-03-08 11:19  peterxu  阅读(1477)  评论(0)    收藏  举报