SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂

错误:

SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂(签名应该为: 0x55555555,但实际为: 0x89021555)。在文件 ‘D:\data\databases.MDF‘ 中、偏移量为 0x000000051e0000 的位置对数据库 ID 7 中的页 (1:10480) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

解决1:

-- databases请替换为自己的数据库名

USE [databases]  

GO  

alter database [databases] set single_user  

DBCC CHECKDB(databases,REPAIR_ALLOW_DATA_LOSS)  

dbcc checkdb(databases,REPAIR_REBUILD)  

alter database [databases] set multi_user 

GO  

解决2:

删除出问题的表的Log,然后手动构造一个结构和名字一样的表Log,并导入生产环境中log表中的数据

本人用的第一种方法,很奏效!!!

相关推荐