sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法「建议收藏」

sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法「建议收藏」今天部署一个asp老项目,在用MSSQL数据库备份文件还原数据库时,发生了问题。提示:sql2008备份集中的数据库备份与现有的xxx数据库不同。百度找到了这篇文章:sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法但我和他重现问题的步骤不一样,他是以文件和文件组的方式还原出现了问题,而我是以数据库的方式还原出现了问题。换句话说,他的解决方案里的步骤就是我出错的步骤,如图:…

大家好,又见面了,我是你们的朋友全栈君。

今天部署一个asp老项目,在用MSSQL数据库备份文件还原数据库时,发生了问题。
提示:sql2008备份集中的数据库备份与现有的xxx数据库不同
百度找到了这篇文章:sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法
但我和他重现问题的步骤不一样,他是以文件和文件组的方式还原出现了问题,而我是以数据库的方式还原出现了问题。
换句话说,他的解决方案里的步骤就是我出错的步骤,如图:
402416-20171205223235644-771271866.png
最后,我尝试用他文章里提到的,但他却没有试过的方法,以SQL命令的方式还原数据库。

RESTORE DATABASE test -- xxxx-改为你自己的数据名称 FROM DISK = 'E:\test\data\xxx.bak' --bak文件路径 xxxx-改为你自己的数据名称 with replace, MOVE 'xxx' TO 'E:\test\data\test.mdf', --mdf文件路径--xxxx-改为你自己的数据名称 MOVE 'xxx_log' TO 'E:\test\data\test_log.ldf' --ldf文件路径xxxx-改为你自己的数据名称

执行时报错,提示逻辑文件xxx不是数据库xxx的一部分,请使用RESTORE FILELISTONLY 来列出逻辑文件名
根据提示,执行如下代码。

RESTORE FILELISTONLY FROM DISK = 'E:\data\xxx.bak'

看到执行结果中的逻辑名后,刚才的代码改成:

RESTORE DATABASE test -- xxxx-改为你自己的数据名称 FROM DISK = 'E:\test\data\xxx.bak' --bak文件路径 xxxx-改为你自己的数据名称 with replace, MOVE 'ceshi' TO 'E:\test\data\test.mdf', --mdf文件路径--xxxx-改为你自己的数据名称 MOVE 'ceshi_log' TO 'E:\test\data\test_log.ldf' --ldf文件路径xxxx-改为你自己的数据名称

再次执行,成功还原数据库。

PS:在空数据库上还原MSSQL数据库备份文件时,要注意该备份文件当时的备份方式是否以完整备份的方式进行备份,而不是所谓的差异备份。如果是差异备份,会造成还原失败

参考:https://www.cnblogs.com/rousi/p/5880751.html

转载于:https://www.cnblogs.com/VAllen/p/MSSQL-RESTORE.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146002.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号