代码改变世界

MS SQL Server 2005 数据库损坏之数据恢复绝对经典

2011-01-17 16:12  魔幻数据  阅读(412)  评论(2编辑  收藏  举报

故障类型  MS SQL Server数据库损坏

故障现象
用户磁盘做过CHKDSK检查,有个大小为260GB左右的MDF文件,能正常附加到MS SQL Server 2005数据库环境中。原先数据库正常情况下记录数量应该在110万条左右,但是现在附加以后能够正常查询的记录数量大概60万条。用户需要找回丢失掉的50万条左右的记录。

诊断故障原因
数据库MDF文件内部数据异常。

检测结果
经过对整个硬盘镜像文件进行MDF文件数据页面扫描,发现部分数据页面不在260GB的MDF文件里头,所以这个260GB的MDF文件所包含的数据是不完整的。究其原因是运行CHKDSK命令检查文件系统以后产生的。260GB的文件在NTFS文件系统中分成很多段存放,每个段都有一个地址指针,当运行CHKDSK命令时,系统会对这些指针进行整理,一旦这个整理过程中出现异常,数据指针就没法保留原来的地址指针,可能会修正成别的地址指针,指向别的地方的数据,导致这个260GB的MDF文件的地址指针发生变化,所指向的数据就出现部分指向错误的现象,虽然在系统中看这个260GB的文件表面上没有发生变化,实际上内部数据已经出现错乱的现象。

数据恢复结果
经过对这个260GBMDF数据文件结构特点,在整个磁盘镜像文件中扫描所有属于他的数据页面,然后收集起来,合并成一个新的260GB的MDF文件,从这个新的260GB的MDF文件中,导出103万条正常的记录。整个恢复过程都运用D-Recovery For MS SQL Server软件来完成。


声明:作者达思数据恢复技术专家覃廷良,本文首发http://www.bnuol.com ,在donews.com,51cto,techweb,新浪

,百度等数据恢复技术博客上转发.欢迎转发,转发请保留作者及出处。