当我尝试从表中select数据时,出现以下错误。
SQL Server检测到逻辑基于一致性的I / O错误:不正确的pageid(预期1:6380;实际0:0)。 它发生在文件'C:\ Program Files \ Microsoft SQL Server 2008 \ MSSQL10.SQL2008 \ MSSQL \ DATA \ test.mdf'中偏移量为0x000000031d8000的数据库ID 16中的页面(1:6380)的读取过程中。 SQL Server错误日志或系统事件日志中的其他消息可能会提供更多详细信息。 这是一个严重的错误条件,威胁数据库的完整性,必须立即纠正。 完成完整的数据库一致性检查(DBCC CHECKDB)。
dbcc checkdb提供了以下输出
消息7985,级别16,状态2,行2系统表预先检查:对象ID 3.无法读取和lockingSH型锁存页面(1:6380)。 检查语句由于不可修复的错误而终止。 信息5256,级别16,状态1,行2表错误:分配单元ID 0,页面(1:6380)在其页面标题中包含一个不正确的页面标识。 页眉中的PageId =(0:0)。 CHECKDB发现0个分配错误和1个一致性错误不与任何单个对象相关联。 CHECKDB在数据库'test'中发现了0个分配错误和1个一致性错误。
我试图修复使用页面级还原的页面损坏,但没有奏效。 还有什么可以尝试吗?
数据库已损坏 – 存储介质不佳。
坏消息。 那么,为什么有备份,增量日志备份,日志文件传送,镜像。 希望你用过这些。
最后的机会:脚本完整的数据导出,删除数据库,创build新的数据库,加载数据到数据库。