sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法
今天部署一个asp老项目,在用MSSQL数据库备份文件还原数据库时,发生了问题。
提示:sql2008备份集中的数据库备份与现有的xxx数据库不同
。
百度找到了这篇文章:sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法
但我和他重现问题的步骤不一样,他是以文件和文件组
的方式还原出现了问题,而我是以数据库
的方式还原出现了问题。
换句话说,他的解决方案里的步骤就是我出错的步骤,如图:
最后,我尝试用他文章里提到的,但他却没有试过的方法,以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数据库备份文件时,要注意该备份文件当时的备份方式是否以完整备份
的方式进行备份,而不是所谓的差异备份
。如果是差异备份
,会造成还原失败
。
作者:VAllen
出处:http://www.cnblogs.com/vallen
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
唯有偏执者得以生存。
出处:http://www.cnblogs.com/vallen
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
唯有偏执者得以生存。