设备 'D:\aaa.bak' 上的介质簇的结构不正确。SQL Server 无法处理此介质簇。

拥抱开源 2014-03-27 11:27:53
今天还原数据库的时候报如下错误

设备 'D:\aaa.bak' 上的介质簇的结构不正确。SQL Server 无法处理此介质簇。


我自己的数据库是08r2的 我也肯定文件没有损坏 请问大家有没有遇到过这种问题,提供一个解决办法?
...全文
34533 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
w_sabre 2015-01-06
  • 打赏
  • 举报
回复
附加一下试试
lulu17513 2014-11-18
  • 打赏
  • 举报
回复
文件损坏的可能性很大,我备份了一份到电脑上,还原的时候不报错的,然后我把备份文件考到U盘上,再去还原就是这个报错,具体是什么原因导致文件损坏就不知道了,有可能是U盘不行,我换个U盘备份文件就能还原到数据库中。
發糞塗牆 2014-03-28
  • 打赏
  • 举报
回复
那你只能搞个2012的实例试试还原是否实例的问题,否则貌似没救了
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 14 楼 DBA_Huangzj 的回复:
原库还在不?重新备份一次试试
主要就是没有原库了 只有个bak文件
發糞塗牆 2014-03-28
  • 打赏
  • 举报
回复
原库还在不?重新备份一次试试
唐诗三百首 2014-03-28
  • 打赏
  • 举报
回复
依然怀疑文件损坏.. 用Visual Studio打开bak文件,应该能看到原始数据. 看能挽救多少了. Good Luck.
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 11 楼 ap0405140 的回复:
执行如下SQL,查看备份的标题信息,结果贴一下.. 若仍有问题,再备份产生一个新的bak,就应该没问题了.

restore headeronly from disk='[bak文件]'
消息 3241,级别 16,状态 0,第 1 行 设备 'D:\条.bak' 上的介质簇的结构不正确。SQL Server 无法处理此介质簇。 消息 3013,级别 16,状态 1,第 1 行 RESTORE HEADERONLY 正在异常终止。 还是刚才的错误 我没有原始数据库,只有一个.bak文件,所以没法再次备份
唐诗三百首 2014-03-28
  • 打赏
  • 举报
回复
执行如下SQL,查看备份的标题信息,结果贴一下.. 若仍有问题,再备份产生一个新的bak,就应该没问题了.

restore headeronly from disk='[bak文件]'
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 9 楼 ap0405140 的回复:
怀疑文件损坏,或者不是MSSQL的备份集, 该不会是其他数据库的备份吧.
确实是sqlserver的数据备份 文件因该没有损坏
唐诗三百首 2014-03-28
  • 打赏
  • 举报
回复
怀疑文件损坏,或者不是MSSQL的备份集, 该不会是其他数据库的备份吧.
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 7 楼 ap0405140 的回复:
执行如下SQL,查看备份文件的媒体家族. 结果请贴一下..

restore labelonly from disk='[bak文件]'
消息 3241,级别 16,状态 0,第 1 行 设备 'D:\数据_100000条.bak' 上的介质簇的结构不正确。SQL Server 无法处理此介质簇。 消息 3013,级别 16,状态 1,第 1 行 RESTORE LABELONLY 正在异常终止。
唐诗三百首 2014-03-28
  • 打赏
  • 举报
回复
执行如下SQL,查看备份文件的媒体家族. 结果请贴一下..

restore labelonly from disk='[bak文件]'
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 5 楼 fredrickhu 的回复:
估计是你有多个文件簇,但是你只还原了一个。
对于多个文件簇 我该怎么还原呢?如果我都拿到的话
--小F-- 2014-03-28
  • 打赏
  • 举报
回复
估计是你有多个文件簇,但是你只还原了一个。
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 3 楼 ap0405140 的回复:
执行如下SQL,检查该备份文件的完整性,

restore verifyonly from disk='[bak文件]'
执行了一下 报如下错误 消息 3241,级别 16,状态 0,第 1 行 设备 'D:\aaa.bak' 上的介质簇的结构不正确。SQL Server 无法处理此介质簇。 消息 3013,级别 16,状态 1,第 1 行 VERIFY DATABASE 正在异常终止。
唐诗三百首 2014-03-28
  • 打赏
  • 举报
回复
执行如下SQL,检查该备份文件的完整性,

restore verifyonly from disk='[bak文件]'
拥抱开源 2014-03-28
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
我个人遇到过的原因: 1、你的bak是2012的实例上备份出来的,2008R2认不了,这个时候要么你的实例升级上去,要么用我文章中的方法来重新备份:http://blog.csdn.net/dba_huangzj/article/details/7952403 2 、文件本身不是SQLServer文件,比如你创建一个txt文件然后改后缀名为bak,也一样会报错。 3、你的bak不是完整备份,而是可能差异备份、日志备份,这时候需要先还原完整备份才能继续。 4、一次备份操作可以写入多个bak文件,而你只获取了其中一个。
你好 现在的问题使 我现在只有一个bak文件 有没有方式可以让我查到原因?
發糞塗牆 2014-03-28
  • 打赏
  • 举报
回复
我个人遇到过的原因: 1、你的bak是2012的实例上备份出来的,2008R2认不了,这个时候要么你的实例升级上去,要么用我文章中的方法来重新备份:http://blog.csdn.net/dba_huangzj/article/details/7952403 2 、文件本身不是SQLServer文件,比如你创建一个txt文件然后改后缀名为bak,也一样会报错。 3、你的bak不是完整备份,而是可能差异备份、日志备份,这时候需要先还原完整备份才能继续。 4、一次备份操作可以写入多个bak文件,而你只获取了其中一个。
王一毛815 2014-03-28
  • 打赏
  • 举报
回复
执行如下SQL,检查该备份文件的完整性,
王一毛815 2014-03-28
  • 打赏
  • 举报
回复
那你只能搞个2012的实例试试还原是否实例的问题,否则貌似没救了
加载更多回复(1)

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧