对于使用WINHEX脚本处理MDF碎片可行性的实验,欢迎大家交流!

文件系统:FAT32 
BPB参数:每CLU SEC数16
MDF文件名称:SD201N_000.MDF
MDF文件大小:80.2M
如何操作:把该文件拷贝至逻辑C盘,由于C盘临时文件比较多所以该文件的碎片也会相应增加。(大概100多个碎片)须要注意的是这里生成的碎片并不是MDF逐渐生成,正常的MDF的文件是在有插入操作后而不断增加(碎片也会同时增加),这里只是人为的使其产生碎片,可能会和正常的环境有一些区别。另外由于实验文件系统的BPB参数的原因,这里并不考虑某个页断面生成碎片的情况,只在验证脚本的可行性。
脚本分为三个:
第一个脚本用来搜索并定位32页处的库文件名.经过实验脚本可以正确的定位,而且在时间上是比较快的,这中间为了验证人为的加了一些干扰的信息。
第二个脚本用来查找碎片断开后的下一页面信息,并且考虑了下一碎片页面为0的情况。经过实验通过
第三个脚本用来判断某个碎片的截止,并且生成页面所在SEC和页面的信息,以及全为0面的信息。
经过实验发现使用脚本可以正常定位碎片并得到碎片信息,当然脚本也是有缺点的,那就是速度比较慢。下一步会在用户的镜像上做进一步的实验,以判断在大型的MDF文件上脚本的执行效率和准确性!
图片
照片名称:SQL MDF信息
图片
   如上图脚本对于可能为0页面(即空页)进行了记录
图片
            如上图脚本对所有碎片的页面数、SEC数做了记录
图片

本文出自 “中国CHS实验室” 博客,谢绝转载!

你可能感兴趣的:(sql,职场,碎片,休闲,mdf)