原库还在不?重新备份一次试试
执行如下SQL,查看备份的标题信息,结果贴一下.. 若仍有问题,再备份产生一个新的bak,就应该没问题了. restore headeronly from disk='[bak文件]'
restore headeronly from disk='[bak文件]'
怀疑文件损坏,或者不是MSSQL的备份集, 该不会是其他数据库的备份吧.
执行如下SQL,查看备份文件的媒体家族. 结果请贴一下.. restore labelonly from disk='[bak文件]'
restore labelonly from disk='[bak文件]'
估计是你有多个文件簇,但是你只还原了一个。
执行如下SQL,检查该备份文件的完整性, restore verifyonly from disk='[bak文件]'
restore verifyonly from disk='[bak文件]'
我个人遇到过的原因: 1、你的bak是2012的实例上备份出来的,2008R2认不了,这个时候要么你的实例升级上去,要么用我文章中的方法来重新备份:http://blog.csdn.net/dba_huangzj/article/details/7952403 2 、文件本身不是SQLServer文件,比如你创建一个txt文件然后改后缀名为bak,也一样会报错。 3、你的bak不是完整备份,而是可能差异备份、日志备份,这时候需要先还原完整备份才能继续。 4、一次备份操作可以写入多个bak文件,而你只获取了其中一个。
34,837
社区成员
254,632
社区内容
加载中
试试用AI创作助手写篇文章吧