12月3日,公司服务器的RAID卡坏了,并且备份体系也失效了一个多月,现在硬盘中的数据库都被SQL认为异常。第一个,还可以通过紧急修复的模式来附加成功。另一个却没有这么好,还原时总是提示“对于文件***.mdf 头不是有效的数据库文件头。 PageAudit 属性不正确。”
我找了半天,发现中文的资料比较少,发现有人介绍一个软件——SQLRecover后,再去找一下,居然找到四个可以对 PageAudit 不正确的进行读取的工具,它们是:
SysTools SQL Recovery 4.4,特点:显示数据时,对中文不支持,只显示出UniCode,并且要注册后才能导出数据。
officerecovery 中的 Recovery for SQL Server,它的特点是生成相应的SQL语句,而不是显示出数据,这样的问题是如果错误数据,我们不知道是什么原因错,因此我们没有主动性。在它家族中还有一个昨天成功修复出错误的OUTLOOK EXPRESS邮箱的工具Recovery for Outlook。
Kernel for SQL Database则恢复得较好,并且也把结果以表格的形式显示出来,这样我就可以用自己写的程序去读其中的数据,但是,未注册版本只能显示其中的5000行数据,这样,我的一些表就无法获得了。并且日期的显示,它是用国外的方式,使得我处理时增加了一些代码量,并且对于12:00的处理也处理成凌晨0时。
Stellar Phoenix SQL Recovery v2.0,也与Kernel for SQL Database差不多,不过,人家可就大方了,小于24G的都可以恢复。恢复出来的数据也是以表格形式显示出来。不错,基本满足了我目前的需要。
后面则是自己做个读Listview控件内容到数据库的工具完成读写。但硬盘缺失的文件仍然会造成数据错误与丢失。关键还是备份重要。