--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--主要获得逻辑文件名 www.2cto.com
--restore filelistonly from disk = 'D:\xxx.bak'
/*
利用bak恢复数据库,强制还原(REPLACE)
STATS = 10 每完成10%显示一条记录
DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
*/
USE master
RESTORE DATABASE xxx
FROM DISK = 'D:\xxx.bak'
WITH REPLACE,
MOVE 'xxx_Data' TO 'D:\xxx.MDF',
MOVE 'xxx_Log' TO 'D:\xxx.LDF',
STATS = 10
http://www.cnblogs.com/huangfr/archive/2012/08/09/2629687.html
--主要获得逻辑文件名 www.2cto.com
--restore filelistonly from disk = 'D:\xxx.bak'
/*
利用bak恢复数据库,强制还原(REPLACE)
STATS = 10 每完成10%显示一条记录
DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
*/
USE master
RESTORE DATABASE xxx
FROM DISK = 'D:\xxx.bak'
WITH REPLACE,
MOVE 'xxx_Data' TO 'D:\xxx.MDF',
MOVE 'xxx_Log' TO 'D:\xxx.LDF',
STATS = 10
GO
参考:
因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了:
一、右击系统数据库master,新建查询
执行以下SQL代码:
RESTORE DATABASE xxx FROM DISK = 'E:\DB\xxx.bak' --bak文件路径 with replace, MOVE 'xxx' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxx.mdf', --mdf文件路径 MOVE 'xxx_log' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxx.ldf' --ldf文件路径
注释:xxx是你需要还原的数据库名称,xxx.bak是你需要还原的备份文件。
二、上面方法执行成功后,只有部分的表结构已经还原,而且表中没有数据,这时就可以用系统默认的方法再用xxx.bak文件还原一次数据库就大功告成了,必须要选中覆盖还原哦。