硬盘数据恢复的数据库文件,能成功附加,但是checkdb报错
10月23日服务器硬盘损坏,11月2日硬盘数据恢复。
WINSERVER2003,SQLSERVER2000+SP4,
MDF文件是34M,LDF文件是7M
现将MDF文件和LDF文件附加到数据库实例,能够成功附加。
查询分析器也能执行select 语句,并且有数据。
但是checkdb('数据库名称')报错,
执行修复命令
dbcc checkdb ('数据库名称',REPAIR_ALLOW_DATA_LOSS )
报错如下:
zzl_gongshi_record的 DBCC 结果。
消息 8909,级别 16,状态 1,第 1 行
表错误: 对象 ID 1013578649,索引 ID 0,分区 ID 66425890340864,分配单元 ID 66425890340864 (类型为 In-row data),页 ID (1:3760) 在其页头中包含错误的页 ID。页头中的 PageId = (1:3648)。
修复此错误要求首先修正其他错误。
消息 8909,级别 16,状态 1,第 1 行
表错误: 对象 ID 1013578649,索引 ID 0,分区 ID 66425890340864,分配单元 ID 66425890340864 (类型为 In-row data),页 ID (1:3761) 在其页头中包含错误的页 ID。页头中的 PageId = (1:3649)。
修复此错误要求首先修正其他错误。
消息 8909,级别 16,状态 1,第 1 行
表错误: 对象 ID 1013578649,索引 ID 0,分区 ID 66425890340864,分配单元 ID 66425890340864 (类型为 In-row data),页 ID (1:3762) 在其页头中包含错误的页 ID。页头中的 PageId = (1:3650)。
修复此错误要求首先修正其他错误。
消息 8909,级别 16,状态 1,第 1 行
表错误: 对象 ID 1013578649,索引 ID 0,分区 ID 66425890340864,分配单元 ID 66425890340864 (类型为 In-row data),页 ID (1:3768) 在其页头中包含错误的页 ID。页头中的 PageId = (1:3652)。
修复此错误要求首先修正其他错误。
消息 8909,级别 16,状态 1,第 1 行
表错误: 对象 ID 1013578649,索引 ID 0,分区 ID 66425890340864,分配单元 ID 66425890340864 (类型为 In-row data),页 ID (1:3769) 在其页头中包含错误的页 ID。页头中的 PageId = (1:3653)。
修复此错误要求首先修正其他错误。
对象 'zzl_gongshi_record' 的 46 页中有 4017 行。
CHECKDB 在表 'zzl_gongshi_record' (对象 ID 1013578649)中发现 0 个分配错误和 5 个一致性错误。
-------------这样的报错的表有很多张
CHECKDB 在数据库 '数据库名' 中发现 0 个分配错误和 493 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
----如果单独select 某张有错误的表,结果能查询出来,但是消息页签报错如下:
消息 824,级别 24,状态 2,第 1 行
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:3712,但实际为 0:0)。在文件 'F:\database\hwgzcytj2011_Data.MDF' 中、偏移量为 0x00000001d00000 的位置对数据库 ID 11 中的页 (1:3712) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。
请问这个问题的原因是什么,应该怎么办?