【IT168 技术】故障类型 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软件来完成。