jovern 发表于 2012-9-4 21:08:37

北亚数据库修复案例

拥有众多优秀工程师,位于首都北京的北亚数据恢复中心,来自全国各地慕名修复数据库的用户络绎不绝。很多数据库损坏的并不严重,只是本地数据恢复技术能力太低,根本无法做出专业的判断并对数据库修复作出合理的技术方案。

    北亚数据恢复中心FRMBYTE Recovery For MS SQL Server v2.0SQL数据库修复软件,能完美修复SQLServer数据库,有的是直接客户,有的是各地数据恢复公司前来求助。尤其是对于SQLServer2008版本的用户来说,数据库出现问题后,即便是数据恢复公司也经常束手无策。北亚数据恢复中心的数据库损坏修复的案例比较多,下面我们开一下部分典型案例:

    数据库变成质疑状态北亚数据恢复专家显身手

    客户是餐饮管理系统,不知道什么原因,SQLServer数据库变成质疑状态,餐饮管理系统没法登陆及使用,用户数据库版本为MSSQLServer2000。

    数据库变成质疑状态是SQL数据库的一大杀手

   北亚数据库修复专家使用FRMBYTE Recovery For MS SQL Server v2.0SQL数据库修复软件进行数据库文件检测,数据库数据文件(MDF)有一个数据页面头部扇区为空,其中一个数据页面有问题,别的页面都是好的,尝试如下步骤在MSSQLServer下修复:

    usemaster

    sp_configure’allowupdates’,1

    reconfigurewithoverride

    updatesysdatabasessetstatus=-32768wheredbid=DB_ID(’质疑数据库名称’)

    dbccrebuild_log(’质疑数据库名称’,’e:\质疑数据库名称_log.ldf’)

    dbcccheckdb(’质疑数据库名称’)

    sp_dboption’质疑数据库名称’,’dbouseonly’,’false’

    sp_configure’allowupdates’,0

    reconfigurewithoverride

    执行dbcccheckdb(’质疑数据库名称’)时,报一个页面错误,就是前面提到的那个页面号,经确认,这个页面是个数据页面,按道理来说,把数据库变成单用户模式,再运行DBCCCHECKDB(’质疑数据库名称’,REPAIR_ALLOW_DATA_LOSS)就能修复好,大不了丢失一些记录。

    但是从执行结果来看,数据库并没有修复成功,再执行dbcccheckdb(’质疑数据库名称’)的时候,还会报同样的错误。

    最后决定用FRMBYTE Recovery For MS SQL Server v2.0SQL数据库修复软件把所有数据导入一个新的数据库中(包括数据表、视图、存储过程、用户自定义数据类型和函数等),把导出来的新库拿到用户原始环境中附加,餐饮系统居然报数据库版本不一致,没能正常连接到。经过一番思量,觉得这个餐饮管理系统数据表之间关联度非常复杂,通过前面的恢复,虽然说是把数据记录等信息恢复回来,但是关联度可能会保留得不完美,从而使得系统认为数据库版本不一致。

   就是一个数据页面损坏,居然影响到所有数据的正常使用,于心不甘,再次进行研究,想办法把空白的数据页头信息手工还原回来,先从空白页头的页面上下页信息入手,分析当前页的页头信息,按照页头结构,手工构造出一个页面信息,再次进行dbcccheckdb(’质疑数据库名称’)操作,发现有报错,在单用户模式下执行DBCCCHECKDB(’质疑数据库名称’,REPAIR_ALLOW_DATA_LOSS),居然成功了,经用户对数据进行验证,没有发现数据丢失,到此数据恢复圆满成功。

blue_lmw 发表于 2013-5-5 18:50:37

好东西!
页: [1]
查看完整版本: 北亚数据库修复案例