sql数据库还原,出现媒体簇的结构不正确,SQL Server无法处理此媒体簇的解决方案之一。,sqlserver
问题:
sql数据库还原,出现媒体簇的结构不正确,SQL Server无法处理此媒体簇。
异常如下图。
造成问题的原因:
我的电脑上安装了sql2005和sql2008,问题就在于我用sql2008的SQL Server Management Studio工具打开的是sql2005的实例。用SELECT @@VERSION语句即可查看当前的实例版本。如下图。
所以最终的解决方案就是,只要保证连接实例所在的版本号大于等于要还原的数据库的版本号,即可还原成功。
sql2000的备份只能在sql2000上还原
可以利用以下方法升级
在SQL Server 2000中分离数据库,将数据库文件拷到装有SQL Server 2005的机器上,然后在Management Studio中附加数据库,附加的时候会出现孤立用户,可以用下面的语句把孤立用户和数据库用户做关联:
sp_change_users_login 'update_one', 'test', 'test'
SQL 2008R2 SQL2008 这是有2个版本的 或者说标准版和企业版的区别具体的也不太清楚。我也遇到同样的问题 正在升级SQL2008版本中
或者你的备份数据损坏了,建议再次备份 在其他电脑上试下。
如果是使用restore 还原的话,会再现以下错误:
设备'XXX.bak' 上的媒体簇的结构不正确。SQLServer无法处理此媒体簇。
如果是使用附加功能的话,会再现以下错误:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
数据库 'DATABase' 的版本为 706,无法打开。此服务器支持 655 版及更低版本。不支持降级路径。
无法打开新数据库 'DATABase'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 948)
发生此情况有种可能是 把高版本的备份放到低版本的数据库上进行还原所致.目前还没有看到有相关直接还原的办法,都是使用数据导入\导出功能来做的.