SQL 服务器损坏页面

SQL 服务器损坏页面

当我尝试从表中选择数据时出现以下错误。

SQL Server 检测到基于逻辑一致性的 I/O 错误:页面 ID 不正确(预期为 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。无法读取和锁定页 (1:6380),锁定类型为 SH。由于无法修复的错误,检查语句终止。消息 5256,级别 16,状态 1,第 2 行 表错误:分配单元 ID 0,页 (1:6380) 的页标头中包含错误的页 ID。页标头中的 PageId = (0:0)。CHECKDB 发现 0 个分配错误和 1 个一致性错误,这些错误与任何单个对象均不相关。CHECKDB 在数据库“测试”中发现 0 个分配错误和 1 个一致性错误。

我尝试使用页面级恢复来修复页面损坏,但没有成功。还有其他方法可以尝试吗?

答案1

数据库已损坏—存储介质不良。

坏消息。好吧,这就是为什么会有备份、增量日志备份、日志文件传送、镜像。希望您使用过其中任何一种。

最后的机会:编写完整的数据导出脚本,删除数据库,创建新数据库,将数据加载到数据库中。

相关内容