欢迎来到天天文库
浏览记录
ID:9046423
大小:32.50 KB
页数:2页
时间:2018-04-15
《服务器断电数据库出错修复解决办法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、sqlserver附加数据库错误823的解决方案一、SQL-Server附加数据库时失败。1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。2、异常分析:关于823错误的SQL-SERVER中的帮助:================================错误823严重级别24消息正文在文件"%4!"的偏移量%3!处的%2!过程中,检测到I/O错误%1!。解释MicrosoftSQLServer在对某设备进行读或写请求时遇到I/O错误。该错误通常表明磁盘问题。但是,错误日志中在错误823
2、之前记录的其它核心消息应指出涉及了哪个设备。3、解决办法:在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句:第一、execsp_configure'allowupdates',1RECONFIGUREWITHOVERRIDE/*打开修改系统表
3、的开关*/第二、updatesysdatabasessetstatus=32768wherename='数据库名'/*设置数据库状态*/第三、DBCCREBUILD_LOG('数据库名','D:databaseTest_Log.LDF')/*重建LDF文件*/第四、updatesysdatabasessetstatus=0wherename='数据库名'/*重置数据库状态*/第五、restoredatabase数据库名WITHRECOVERY/*恢复数据库*/第六、execsp_configure'allowupdates',0RECONFIGUREW
4、ITHOVERRIDE/*关闭打开修改系统表的开关*/按照此方法操作,应该能修复数据库正常访问了。如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。============================================================补充说明:用上面的六步把数据库置疑的问题解决了,但是数据库表里还有损坏的表(inf_gdscode),把坏表导出的时候也不成功。最后在查询分析器里运行:USEnmgbt_hcxuexipos(数据库名)GODBCCCHECKTABLE
5、('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)GO参考资料:http://hi.baidu.com/lyq168/blog/item/b84bb41e02e83b1840341767.html-----------------------------------------------依次执行以下SQL-------------------------------------------------1.execsp_configure'allowupdates',1RECONFIGUREWITHOVERRIDE--2.upda
6、tesysdatabasessetstatus=32768wherename='hshotel'--3.DBCCREBUILD_LOG('hshotel','f:hopehshotel_Log.LDF')--4.updatesysdatabasessetstatus=0wherename='hshotel'--5.restoredatabasehshotelWITHRECOVERY--6.execsp_configure'allowupdates',0RECONFIGUREWITHOVERRIDE--7.DBCCCHECKDB(数据库名称)
此文档下载收益归作者所有