客 户 名 称 福田人民医院
数 据 类 型 SQL 7.0数据库 兼容级别6.5
数 据 大 小 18 GB
故 障 检测 阵列崩溃 客户自己提取出来的数据库。
客 户 要 求 必须能直接使用,因为很老的数据库 很多结构已经改变 老开发人员都找不到了。
修 复 结 果 : 客户找了几家恢复公司 都无法做好, 主要难度 在于
一由于数据库很久以前是从6.5版本升级到7.0的数据库所以 当时的字符集 以及 排序规则 都已经不知道了,
而7.0的 字符集加排序规则 很多搭配, 所以 想在SQL7.0上修复此数据库必须得知道 数据库原始字符集是什么。
二 由于这个数据库 中间 有 IAM 页 GAM 和 SGAM页面丢失 加上有很多其他物理页面丢失 ,想用SQL2000来修复此数据库基本没有希望.
因为 SQL2000 升级7.0数据库 会校验 盘区 页面分配 等信息。,
三 采取SQL数据库修复软件 提取数据 来 重建数据库? 也不行 因为 1 不能保证原始架构信息可以原模原样恢复,2 此数据库视图 表 触发器
存储过程外键 用户 众多,而且不同的架构的表 互相还有关系。 客户还要求直接使用 完美无误,这就是非常麻烦的事。
经过我们综合 考虑, 首选 手工修复数据库 弄到SQL2000上 但是 从515版本 升级到539版本 中间 要走24步 从525就过不去了,
手工修正损坏页面和无效指针后, 升级到526又被卡死,然后在分析卡死原因后 手工矫正 再次附加升级到 527 报FCB错误, 在手工修正 升级到536卡死,
一直手工矫正后 升级到539版本 也就是SQL2000 版本 但是 数据库大量分配错误,且无法修复 通过特殊手段矫正盘区页面 和 PFS页面后 分配错误修复完成