首页| 论坛| 消息
主题:数据库碎片组合原理实现
山东老王发表于 2010-12-31 16:13
最近很多同行,在询问我关于MSSQL的MDF碎片文件的手工修复方法,其实这项工作操作起来,非常简单。
原理是:MDF文件的基本组成单位是页,页的上层结构为盘区,页与页之间也为链式结构,即一个页由前一个页指向位置,然后本身又指向下一个页,对于页中的大部分数据类型都是按照此方法,如果页中有BLOB数据,则由指针指向,MDF中页有缺损或丢失,则数据库将无法正常附加或运行,因为库本身对页将进行非常严格的校验。
数据库文件在被删除或者格式后化,软件恢复出来的基本上都是不完整数据。这是因为数据库在使用中,每天都要进行大量的INSERT INTO或DROP操作,存储上为连续结构比较少。能在手工上将数据库碎片组合起来,是每个数据修复技术同行的追求目标。
下面为MDF文件的前96字节的文件头定义,此文件头中详细地描述了MDF文件的页链结构,我想有很多数据库修复人员已经掌握此类技术,所以不在此过多地展示细节,不懂的同仁,在掌握此文件结构后,对数据库的手工组合,也不会有技术上的障碍。

浏览大图
回帖(2):
2楼:数据库修复技术
支持支持
1楼:数据库修复技术

全部回帖(2)»
最新回帖
收藏本帖
发新帖