解决方法:SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正
select count(*) from todayConsumeRecords
消息 824,级别 24,状态 2,第 1 行 SQL Server 检测到基于一致性的逻辑 I/O 错误 由于缺少 DEK,无法解密页。在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\devicesys.mdf' 中、偏移量为 0x000000dea6a000 的位置对数据库 ID 9 中的页 (1:455989) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。
所用到的解决方法有:
1、 use devicesys
go
ALTER DATABASE devicesys SET SINGLE_USER
DBCC CHECKDB (‘devicesys’, repair_allow_data_loss) with NO_INFOMSGS
go
ALTER DATABASE devicesys SET MULTI_USER
go
失败!
2、尝试着新建了个数据库tmp,并把发现数据库错误时所备份的文件还原到tmp中,然后删除devicesys 数据库中的todayConsumeRecords表。之后把temp中的todayConsumeRecords表导入到devicesys中,当运行后出错的那几行时导入动作自动停止。失败!
3、最终的解决方法:把第一方法中的SQL语句放到tmp数据库进行运行,只花了几秒钟时间就提示修复成功,接着再把tmp中的todayConsumeRecords导入devicesys中,成功!
PS:第一个方法中的语句确实有效,但不懂为什么在出问题的数据库中运行不了,要借助临时的数据库才行。不知网络上的其他朋友是否也是这样的操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)