因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了:
一、右击系统数据库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文件还原一次数据库就大功告成了,必须要选中覆盖还原哦。
三、因为数据库正在使用,所以无法获得对数据库的独占访问权
关键SQL语句:
ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE
用完之后再
ALTER database [ datebase] set online