先转载一篇文件:
转载链接:http://hahha2003.blog.163.com/blog/static/248577920123106129711/
转载内容:
Sql Server 2008还原 2005数据库时出现 3154错误 (从网上找到的第二种方法已经验证通过,留下备用)
解决方法1:不要在数据库名字上点右键选择还原,而要是在根目录“数据库”三个字上点右键选择还原,然后再选择数据库,问题便可以解决,如果不行参照方法2
解决方法2:写sql语句处理:
RESTORE DATABASE [databaseName]
FROM DISK = N'X:\数据库备份\database.bak' with replace,
NOUNLOAD, STATS = 10
GO
-----------------------------------------------------------转载结束-----------------------------------------------------------
以上的两种方法我都测试过,都不能解决问题。两种方法执行时都会报错:设备“X:\XXX”上的媒体簇的结构不正确。SQL Server无法处理此媒体簇。且SQL Server 2008数据库的“兼容级别”是否为“SQL Server 2005”都执行失败。
下面来说说我用的还原成功的方法。
采用的不是备份还原的方法,而是生成SQL脚本的方法。数据比较少时推荐使用,大数据的话我还没有好的办法。
第一步:在服务器端生成脚本:
1、选中要生成脚本的数据库,右击,任务----》生成脚本;
2、简介:下一步(这一步是告诉你待会儿都要干什么,可以不用看,直接下一步就好);
3、选择要编写脚本的数据库对象:勾选“编写整个数据库及所有数据库对象的脚本”,下一步;
4、设置脚本编写选项:主要修改两个地方(划重点)
a、文件名:也就是脚本文件的名称和保存的地方,最好改成咱们自己知道的地方
b、“高级”按钮:点击“高级”按钮会弹出“高级脚本编写选项”对话框,修改以下几个选项,其他默认或者根据需要修改。
编写触发器脚本:true(默认为false,修改为true之后才会生成触发器脚本,新的表中才会有对应的触发器)
编写DROP和CREATE脚本:编写CREATE脚本
为服务器版本编写脚本:SQL Server 2005(关键)
要编写脚本的数据的类型:架构和数据(关键)
设置完成后点击确定,关闭选项框。
5、下一步、下一步、完成。
第二步:客户端还原:直接在SQL Server 2005中执行脚本即可。
若是客户端没有与数据库同名的数据库,直接执行即可。
若是有,那么需要修改脚本中数据库的名称,否则会报错。
大数据的不知道怎么还原啊,有知道给留个言,谢谢!