大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
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 校验会报告,只要他报告了就表示页面损坏了,或者页面被垃圾数据填充了,或者有页面上下指针指向了垃圾页面。
页撕裂这个错误就是 当页面正在写入数据时由于断电等原因造成页面只写了一半,或者页面一半数据成了垃圾数据 就好比一张纸撕了一样 裂开了,你明白了吧。
这些错误可以通过老备份的页面还原,也可以重新生成校验值,或者直接去除掉页面指针 再次修复即可。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171480.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...