发布网友 发布时间:2022-04-07 22:30
共2个回答
懂视网 时间:2022-04-08 02:51
现在许多工作人员还在普遍使用SQL SEVER,由于种种原因,SQL数据库会出 现不同程度的损坏,非常影响员工的正常工作。数据的丢失还可能会给公司带 来巨大损失。本文额外大家介绍SQL数据库损坏的原因和解决办法。
当附加数据库文件MDF及日志文件LDF时,报“823”错误。故障出现原因:
(1)在数据库读写过程中突然死机或者断电。
(2)服务器重启,重启后数据库出现“置疑”状态。
(3)磁盘I/O错误
在以上可能的三种突发故障下,由于缓冲数据丢失,数据库无法写入正确 的数据,导致数据结构紊乱,重启后数据库无法正常附加。
通过之前备份的数据库进行数据库还原时,出现“内部一致性错误”。这 通常也是数据库管理人员最大的梦魇了,明明是做了备份,却在还原时发现备 份文件是损坏的。这意味着数据库的丢失,后果是非常严重的。故障出现原因 :
(1)备份文件和数据库放在同一个物理硬盘上,硬盘出故障,备份也损坏。
(2)备份介质损坏;或者做的是网络备份,数据在网络传输中发生了损坏。
(3)数据库在做完整备份、文件备份或者文件组备份的时候,里面的内容就 已经有了损坏。这是因为SQL Server在做数据备份的时候为了节省时间,基本 只是很简单地把数据页面拷贝下来,不会做一致性检查的。但是在恢复的时候 ,需要将数据库恢复(Recover)到事务一致的一个时间点。如果备份中的损坏妨 碍了SQL Server的前滚后滚(Redo和Undo),恢复动作就会遇到错误。
(4)在备份数据库时由于磁盘中有坏道,备份出来的MDF文件不完整时也会 出现这种错误。
当数据库出现以上的故障时,需要修复数据库文件当中的坏页面,如果对 MDF文件结构不是很清楚的话,请不要对原文件进行胡乱修改,这样会适得其反 ,会造成更大的损失。我们可以先将数据库文件备份一份,然后对备份文件用 命令来修复,常常这种情况用命令修复完后,数据会丢失部分!
更好的解决办法是下载无敌数据恢复软件,在电脑上安装运行,扫描SQL数 据库找到丢失的文件点击恢复就可以了。只要在数据丢失后没有再对SQL数据库 进行任何读写,恢复数据就是一件很容易的事。数据恢复软件免费版:http://dl.pconline.com.cn/download/90972.html
SQL数据库损坏的原因和解决办法
标签:
热心网友 时间:2022-04-07 23:59
这个问题到目前为止(2008/11/25)共有2位客户遇到,当时的状况是:Outlook能够正常收发邮件,但Webmail访问时一点登录就出现上述错误信息。为什么数据库会损坏? 这个原因会有很多,例如突然断电、磁盘坏了等,具体到您这里是什么原因,这得要问微软公司才能知道了。DB Mail Server只是通过ADO标准接口来访问数据库,用的是标准的SQL语句,没有任何对数据库进行破坏性的操作。DB Mail Server的可能就就在于访问数据库的量会大一些,类似于BT下载多了硬盘可能出错一样。第1步. 关闭目前的DBMail. 假设目录在C:DBMailPro.第2步. 按如下的指导,再安装一个新的DBMail:1) 运行 dbmailsetup.exe安装包, 安装到C:DBTemp.2) 运行C:DBTemp下的aamailsvr.exe,此时会显示初次设置向导。3) 在向导中选择SQL已经安装, 在输入SQL参数时, 选中"改变缺省参数".4) 把数据库名称改为 dbmail,这时数据库文件会为C:DBTempdbsdbmail.mdf.5) 下一步,取消“启动Webmail”.6) 下一步至安装完成,启动主界面, 然后退出。第3步. 进入SQL Server企业管理器,将有dbmail数据库,下面进行数据复制:1) 右键选择dbmail数据库,选择任务中的DTS数据导入.2) 选择从dbmailpro导入数据,用Windows集成验证模式.3) 选择表=>表的复制方式,选择全部表,复制并覆盖数据.4) 执行数据复制.第4步.在SQL企业管理器中,右键选择dbmail数据库,执行“任务=>分离”,把dbmail数据库分离。第5步.把C:DBTempdbsdbmail.mdf和dbmail.ldf移动到C:DBMailProdbs目录中.第6步. 打开C:DBMailProaamailsvr.ini文件, 修改[Database]段中以下值:DatabaseName = dbmailDatabaseFile = c:DBMailProdbsdbmail.mdf第7步. 在企业管理器中, 选择“任务=>附加”,附加入C:DBTempdbsdbmail.mdf.第8步. 启动C:DBMailPro下的aamailsvr.exe,此时DBMail应该能够正常运行了。第9步. 恢复成功,最后进行清理:1) C:DBTemp文件夹可以全部删除.