极佳数据库修复 13510228421

www.sql110.com

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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 校验会报告,只要他报告了就表示页面损坏了,或者页面被垃圾数据填充了,或者有页面上下指针指向了垃圾页面。

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

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

posted on 2013-09-30 12:45  极佳数据库  阅读(1748)  评论(0编辑  收藏  举报