sql2008 BAK文件还原,“备份集中的数据库备份与现有的xx数据库不同”解决方法(转)

第一种思路:

1、先还原bak文件,看到原数据库的名称。

2、新建上同查到的【同名】的数据库

3、再还原bak文件时,发现,原来ldf新生成的ldf与bak中的ldf文件名不一样。

4、改名吧,先【分离】数据库,再在文件夹中找到文件,进行改名。

5、再附加数据库时,提示找不到文件,没事,在【当前文件路径】中改一下文件名就可以附加了

6、再还原bak文件,提示OK了。

第二种思路:

因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了:

第一步:

1、右击系统数据库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是你需要还原的备份文件。
 

2、上面方法执行成功后,只有部分的表结构已经还原,而且表中没有数据,这时就可以用系统默认的方法再用xxx.bak文件还原一次数据库就大功告成了,必须要选中覆盖还原哦。

3、如果数据库中有ndf文件,执行完第一步后,会出现ndf没有还原的错误提示,提示中有原路径,只要按路径新建文件夹就行了。

第二步:

另一串代码:

1、如果只有一个Bak,没有mdf的数据库文件,需要先创建一个mdf数据库文件。

2、如果不知道mdf的数据库名称,可以,先还原bak,会弹出提示。

3、执行代码,按照提示修改就行了。

ALTER DATABASE [数据库名] SET OFFLINE WITH ROLLBACK IMMEDIATE  --断开其他用户与数据库的连接

USE MASTER --这里注意要使用MASTER,以免出现待还原库被占用的情况
RESTORE DATABASE [数据库名] --为待还原库名 
FROM DISK = 'C:\xxx.bak' ---备份文件名
WITH MOVE '数据库名' TO 'C:\bakeup\数据库名.mdf',  ---指定数据文件路径
MOVE '数据库名_LOG' TO 'C:\bakeup\数据库名_log.ldf', ---指定日志文件路径
STATS = 10, REPLACE
GO

ALTER  database  [数据库名]  set   online

代码来源:https://blog.csdn.net/cxh6863/article/details/90348384?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161283530616780261995684%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161283530616780261995684&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-2-90348384.first_rank_v2_pc_rank_v29&utm_term=RESTORE+DATABASE+%255B%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%25E5%2590%258D%255D+--%25E4%25B8%25BA%25E5%25BE%2585%25E8%25BF%2598%25E5%258E%259F%25E5%25BA%2593%25E5%2590%258D+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敦厚的曹操

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值