SQL SERVER恢复数据错误解决:The backup set holds a backup of a database other than the existing
2016-04-07 17:20
405 查看
http://dba.stackexchange.com/questions/44967/error-3154-while-restoring-a-backup-using-with-replace
You should use
This worked for me:
Also you should make sure when you backup databases you use
1) Use
2)
older database which is conflicting and restore again using
There is no problem with the SQL Server version. As Aaron pointed out, I am also able to restore the database from 2008 to 2012 and same versions as well.
http://blog.sqlauthority.com/2013/11/23/sql-server-fix-error-3154-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-database-ssms/ http://blog.csdn.net/j2eevic/article/details/7408432
方法一:
方法二
需要注意两点:
在【选项】界面里
1.选择“覆盖现有数据库”
2.修改【将数据库文件还原为】区域里的【还原为】的位置,和要恢复的数据库的实际位置保持一致
You should use
WITH REPLACEand in general avoid using the point-and-click thingies in Management Studio - they're inflexible and often have bugs.
This worked for me:
USE [master]; GO CREATE DATABASE test; GO CREATE DATABASE test2; GO BACKUP DATABASE test TO DISK = 'c:\temp\test.bak' WITH INIT, COMPRESSION; GO RESTORE DATABASE test2 FROM DISK = 'c:\temp\test.bak' WITH REPLACE, MOVE 'test' TO 'c:\temp\test2.mdf', MOVE 'test_log' TO 'c:\temp\test2.ldf';
Also you should make sure when you backup databases you use
WITH INITand/or don't point the device at a file that already contains a backup (since it might not be the same database you're backing up now - especially if you reuse names like
test...).
1) Use
WITH REPLACEwhile using the
RESTOREcommand.
2)
DROPthe
older database which is conflicting and restore again using
RESTOREcommand.
There is no problem with the SQL Server version. As Aaron pointed out, I am also able to restore the database from 2008 to 2012 and same versions as well.
http://blog.sqlauthority.com/2013/11/23/sql-server-fix-error-3154-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-database-ssms/ http://blog.csdn.net/j2eevic/article/details/7408432
方法一:
--返回由备份集内包含的数据库和日志文件列表组成的结果集。 --主要获得逻辑文件名 USE master RESTORE FILELISTONLY FROM DISK = 'g:\back.Bak' Go --********************************** /* 利用bak恢复数据库,强制还原(REPLACE) STATS = 10 每完成10%显示一条记录 DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件 */ USE master RESTORE DATABASE DB FROM DISK = 'g:\back.Bak' WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf', MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf', STATS = 10, REPLACE GO ------------------------------------- /* 备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。 */ USE master BACKUP DATABASE DB TO DISK = 'g:\DBBack0930.bak' RESTORE FILELISTONLY FROM DISK = 'g:\DBBack0930.bak' RESTORE DATABASE DBTest FROM DISK = 'g:\DBBack0930.bak' WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf', MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf' GO ---******************************
方法二
需要注意两点:
在【选项】界面里
1.选择“覆盖现有数据库”
2.修改【将数据库文件还原为】区域里的【还原为】的位置,和要恢复的数据库的实际位置保持一致
相关文章推荐
- 源码安装Redis
- 如何用SQL命令查看Mysql数据库大小
- Sql08R2清除日志
- MySQL主要命令(4)
- ES-MongoDB学习6_用 mongodb + elasticsearch 实现中文检索
- Mysql备份和还原
- ORACLE 等待事件
- 应聘中常用的SQL语句(数据库知识必杀)一共50个
- MySQLdb和PIL安装
- oracle awr报告
- mysql 安装
- 经典SQL语句大全
- Redis安装和配置
- Mysql 技巧
- 使用Mysql新版驱动的ReplicationDriver实现MySQL读写分离
- 故障案例 mongodb configserver启动失败
- MySQL 半同步复制
- JDBC进行Mysql读写分离测试
- 阿里云初始化mysql数据库安装5.5版本
- (linux)python之setuptools、easyinstall、pip安装及连接redis