admin 管理员组

文章数量: 1184232

 

客户重装系统忘记备份原c分区的数据库 ,之后通过数据恢复软件找回来了几个数据库文件 。其中3个数据库都能正常附加使用,仅当中1个库无法附加,提示不是有效的SQL SERVER文件 ,如图

修复过程
1.新建一个同名的数据库(数据文件与原来的要一致)
2.再停掉sql server(注意不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
是不是看了上面的流程有点眼熟呀, 不错,就是之前介绍过的 Sql Server置疑数据库解决方法 ,执行的语句就不用多讲了, 大家可以看前面的文章。

言归正传,我在执行到

dbcc rebuild_log(’kmxc’,'F:\www.db-recovery\kmxc_log.ldf’)
提示报错
服务器: 消息 5180,级别 22,状态 1,行 1
由于文件 ID 0(位于数据库 ‘kmxc’ 中)无效,所以未能打开 FCB。
连接中断

日志创建不了, 先不管,用DBCC checkdb看看报什么错误

服务器: 消息 8966,级别 16,状态 1,行 1
未能读取并闩锁页 (33216:0)(用闩锁类型 SH)。sysindexes 失败。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

分析它结构,修复sysindexes ,其他系统表还是有错误, 看来只能重建修复系统表了。 通过原有备份,重建系统表,DBCC checkdb一点问题都没有 , 交付客户验证无误。

本文标签: 数据恢复 重装系统 数据库文件 提示 案例