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执行时发生错误,我将路径中的‘/’改成‘\’,顺利执行。