客户描述:使用联想 x3550服务器,4块1tsas硬盘,下班左右,客户端收银系统无法登陆,管理员查看服务器后发现,4块硬盘全部黄灯,raid5离线。
恢复过程:客户找本地数据恢复公司恢复后发现重要数据库文件无法附加打开,数据库为sql server 2008R2,大小为 20g.经检测发现,数据库文件位置硬盘有大量坏道,导致数据库损坏严重,数据恢复工程师进一步修复sql server数据库mdf文件,修复损坏的页面,经过6小时紧急修复后,数据库成功修复,客户验证后数据完整。
专业mdf文件修复,sqlserver数据库修复:
在数据库的头96个字节中第0x40开始直道0x5F应该都是0。
我发现只有测试页的 的冒号前面的数字不为1时才在0x40到0x5f写入数据。但是具体代表什么还没有看出来。
姑且认为数据库第一个页面的0x00-0x3f就如上图所示,0x40-0x5f都为0(不正确的话请纠正一下)
这张图有什么用呢,如果你理解了上述参数的意义,用二进制编辑器打开一个头文件损坏的mdf文件就有可能恢复这个已经损坏的数据库。
偶不是dba也不是专业恢复数据的,只是个普通的开发人员,怎么恢复还请有经验人士补充一下。
有情提醒,这些东西非常危险,请不要随意测试,最好找一个没用的数据库来研究。