前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql数据库置疑_SQL数据库置疑 823 824 错误修复 无法附加处理

mysql数据库置疑_SQL数据库置疑 823 824 错误修复 无法附加处理

作者头像
全栈程序员站长
发布2022-09-24 12:28:56
1.7K0
发布2022-09-24 12:28:56
举报

大家好,又见面了,我是你们的朋友全栈君。

SQL数据库为什么会置疑?

这个原因有很多,例如阵列崩溃导致数据库文件页面损坏,病毒破坏,分区损坏。断电 非法关机等因素

怎样防止数据库置疑?

远程备份或者备份到本机另一块硬盘是最佳方式,平时要多注意预防病毒 文件系统检查(chkdsk检测分区看看有无坏道或者文件系统问题) UPS电源检测 没事的时候就行 DBCC CHECKDB检测 再小的故障都要立即解决,数据库不可以带故障运行。

出现故障恢复方案?

数据库立即改成完整模式,MDF放在A磁盘分区,LDF放在B磁盘分区,勤做备份和事务日志备份,如果数据库置疑你自己无法解决 完全可以通过老备份跟事务日志自己恢复数据。,

假设 你没有老的备份,那么怎么样恢复数据?首先新建同名数据库然后停止SQL服务,删除新建的MDF LDF文件 然后将损坏MDF文件放到新建位置,启动SQL 执行以下命令。

USE MASTER

GO

SP_CONFIGURE ‘ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE

GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=’数据库名字’

Go

sp_dboption ‘数据库名字’, ‘single user’, ‘true’

Go

update sysdatabases set status =28 where name=’数据库名字’

Go

sp_configure ‘allow updates’, 0 reconfigure with override

Go

sp_dboption ‘数据库名字’, ‘single user’, ‘false’

Go

dbcc rebuild_log(‘数据库名字’,’D:\dataJIJIA\数据库名字.ldf’)

这样就数据库就OK了,下面在检测数据库有没有损坏 执行DBCC CHECKDB (‘数据库名字’)如果出现红色的故障 立即修复之,修复不了 就找专业人士了。

关于823 824 页撕裂错误

这个823 就是数据库物理页面损坏,有时可能是页面有但是校验值损坏 导致无法识别该页面,有时呢 因为断电 或者文件系统问题 出现页面丢失了也会报这个823错误。

824和页撕裂错误 这两个都是SQL页面校验机制搞的鬼,824这个错误SQL2005及以上版本的 checksum 校验会报告,只要他报告了就表示页面损坏了,或者页面被垃圾数据填充了,或者有页面上下指针指向了垃圾页面。

页撕裂这个错误就是 当页面正在写入数据时由于断电等原因造成页面只写了一半,或者页面一半数据成了垃圾数据 就好比一张纸撕了一样 裂开了,你明白了吧。

这些错误可以通过老备份的页面还原,也可以重新生成校验值,或者直接去除掉页面指针 再次修复即可。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171480.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档