MSSQL数据库恢复案例
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
客户名称 保密
数据类型 SQL 2008R2
数据大小 150 GB
故障检测 服务器异常断电,客户自己尝试重建日志恢复 系统表很多报错。属于异常关闭数据库 导致事务写异常.
DBCC CHECKDB ('hzpos_rs1')
go
消息 8921,级别 16,状态 1,第 1 行
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
dbcc checktable ('sys.sysobjvalues')
go
sys.sysobjvalues的 DBCC 结果。
消息 8935,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:9407) 上的上一页链接 (1:43648) 与父代 (1:128710) 槽 204 所预期的此页的上一页 (1:279409) 不匹配。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:9407) 缺少上一页 (1:43648) 对它的引用。可能是因为链链接有问题。
消息 8935,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:146549) 上的上一页链接 (1:279408) 与父代 (1:23096) 槽 130 所预期的此页的上一页 (1:146551) 不匹配。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:146549) 缺少上一页 (1:279408) 对它的引用。可能是因为链链接有问题。
消息 8981,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。(1:146551) 的下一指针指向页 (1:279408)。但既未遇到 (1:279408),也未遇到其父级。可能是因为链链接错误。
消息 8976,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。在扫描过程中未发现页 (1:279409),但该页的父级 (1:128710) 和上一页 (1:43648) 都引用了它。请检查以前的错误消息。
对象 'sys.sysobjvalues' 的 768 页中有 7999 行。
CHECKTABLE 在表 'sys.sysobjvalues' (对象 ID 60)中发现 0 个分配错误和 6 个一致性错误。
DBCC checktable('sys.sysobjvalues', REPAIR_ALLOW_DATA_LOSS)
go
对于由 DBCC CHECKTABLE (hzpos_rs1.sys.sysobjvalues)发现的错误,repair_rebuild 是最低的修复级别。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
消息 2510,级别 16,状态 17,第 1 行
DBCC checktable 错误: This system table index cannot be recreated。
sys.sysobjvalues的 DBCC 结果。
修复: 已为数据库 'hzpos_rs1' 中的对象 'sys.sysobjvalues' 成功地重新生成了 Clustered 索引。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 60,索引 ID 1。
该错误已修复。
消息 8935,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:9407) 上的上一页链接 (1:43648) 与父代 (1:128710) 槽 204 所预期的此页的上一页 (1:279409) 不匹配。
该错误已修复。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:9407) 缺少上一页 (1:43648) 对它的引用。可能是因为链链接有问题。
该错误已修复。
消息 8935,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:146549) 上的上一页链接 (1:279408) 与父代 (1:23096) 槽 130 所预期的此页的上一页 (1:146551) 不匹配。
该错误已修复。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。页 (1:146549) 缺少上一页 (1:279408) 对它的引用。可能是因为链链接有问题。
该错误已修复。
消息 8981,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。(1:146551) 的下一指针指向页 (1:279408)。但既未遇到 (1:279408),也未遇到其父级。可能是因为链链接错误。
该错误已修复。
消息 8976,级别 16,状态 1,第 1 行
表错误: 对象 ID 60,索引 ID 1,分区 ID 281474980642816,分配单元 ID 281474980642816 (类型为 In-row data)。在扫描过程中未发现页 (1:279409),但该页的父级 (1:128710) 和上一页 (1:43648) 都引用了它。请检查以前的错误消息。
该错误已修复。
对象 'sys.sysobjvalues' 的 768 页中有 7999 行。
CHECKTABLE 在表 'sys.sysobjvalues' (对象 ID 60)中发现 0 个分配错误和 6 个一致性错误。
需要注意的是系统表这种错误 dbcc 命令是无法修复
消息 2510,级别 16,状态 17,第 1 行
DBCC checktable 错误: This system table index cannot be recreated。 --这是系统表不能重建索引。
修复结果 分析sys.sysobjvalues写异常部分,手工修改使其块数据一致性,这就就达到了修复的目的,还有部分表可能索引异常,通过特殊手段删除掉,然后重新创建索引等完成恢复。
整体修复时间 仅仅1小时内, 如果这种大库用SQL数据库修复软件修复 那么 效果不理想 且 时间需要很久.,影响企业运营。手工修复才是极佳的处理方式.
深圳极佳数据救援中心友情提醒:重要数据一定要勤备份,遇到数据丢失数据损坏等问题,
要第一时间联系专业人士。
对于各类主流数据库,我们可以做底层的数据恢复及数据修复,对于数据库的某些特定故障可以快速
100%原模原样恢复,数据库立等可取。