日期:2014-05-18  浏览次数:20441 次

SQL数据表出问题了。求教啊。
使用下面这个修复后。修复不了。
SQL code
MAINMR的 DBCC 结果。
消息 8928,级别 16,状态 1,第 1 行
对象 ID 1840894521,索引 ID 1,分区 ID 72057598455447552,分配单元 ID 72057598591696896 (类型为 In-row data): 无法处理页 (1:2334024)。有关详细信息,请参阅其他错误消息。
消息 8939,级别 16,状态 98,第 1 行
表错误: 对象 ID 1840894521,索引 ID 1,分区 ID 72057598455447552,分配单元 ID 72057598591696896 (类型为 In-row data),页 (1:2334024)。测试(IS_OFF (BUF_IOERR, pBUF->bstat))失败。值为 46139401 和 -4。
对象 'MAINMR' 的 2540 页中有 75223 行。
CHECKTABLE 在表 'MAINMR' (对象 ID 1840894521)中发现 0 个分配错误和 2 个一致性错误。
对于由 DBCC CHECKTABLE (kji.dbo.MAINMR)发现的错误,repair_allow_data_loss 是最低的修复级别。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。





查询这个表错误信息
SQL code

消息 824,级别 24,状态 2,第 1 行
SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x7a2d4b4a,但实际为: 0x7d0a6b4a)。在文件 'D:\sql2005\MSSQL.1\MSSQL\data\kji_D.mdf' 中、偏移量为 0x00000473a90000 的位置对数据库 ID 5 中的页 (1:2334024) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。



------解决方案--------------------
先将数据库改为 单用户模式

然后 修复数据库,在修复的过程中 允许部分数据丢失

修改完成后再降单用户模式改为 多用户模式
------解决方案--------------------
SQL code
ALTER DATABASE [dbtest] SET  MULTI_USER WITH ROLLBACK IMMEDIATE--多用户模式