sql2000读写数据库时死机,数据库置疑,附加报823错误。
来源:互联网 发布:曜俊树x先导爱知h 编辑:程序博客网 时间:2024/06/08 14:36
在读写数据库时遇到电脑意外死机,软件报无法连接数据库,打开企业管理器,发现数据库置疑,当再次附加该数据库时报823错误。
以下为解决办法,完安全起见,先把数据库停止,然后把数据库文件拷贝出来(MDF、lDF).
错误823解决办法 一、SQL-Server附加数据库时失败。 1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。 2、异常分析:关于823错误的 SQL-SERVER 中的帮助: ================================ 错误 823 严重级别 24 消息正文在文件 "%4!" 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。
解释 Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。
解决办法:在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句: --
/*第一、 打开修改系统表的开关 */
exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE
/* 第二、 设置数据库状态 */
update sysdatabases set status=32768 where name='数据库名'
/* 第三、 重建LDF文件 */
DBCC REBUILD_LOG ('数据库名','E:\database\1204_Log.LDF')
/* 第四、 重置数据库状态 */
update sysdatabases set status=0 where name='数据库名'
/*第五、 恢复数据库 */
restore database 数据库名 WITH RECOVERY
/* 第六、关闭打开修改系统表的开关 */
exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE
按照此方法操作,应该能修复数据库正常访问了。
补充说明:用上面的六步把数据库置疑的问题解决了,但是数据库表里还有损坏的表(inf_gdscode),把坏表导出的时候也不成功。最后在查询分析器里运行:
USE nmgbt_hcxuexipos (数据库名)
GO
DBCC CHECKTABLE ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)
GO
如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。
执行sql语句时,有可能会出现“不允许对系统目录进行即席更新。” 解决方法:sql2000可以做以下设置:数据库所在的数据库连接(实例)》右键属性》服务器设置》服务器行为》允许对系统目录直接进行修改,勾上此选项。
- sql2000读写数据库时死机,数据库置疑,附加报823错误。
- 修复SQL2000数据库置疑时出现的错误
- SQL2000数据库置疑解决方法
- SQL2000置疑数据库修复
- sql2000 数据库置疑解决
- MS SQL2000 数据库置疑解决方法
- sql2000附加数据库
- MS SqL2000 数据库置疑状态的解决方法
- MS SqL2000 数据库置疑状态的解决方法
- 置疑数据库
- 数据库置疑
- 数据库置疑
- 置疑数据库
- 客户数据库sql2000备份置疑数据方法提取补充
- 解决SQL2008无法附加SQL2000数据库问题
- 创建、分离、重新附加并修复一个置疑数据库
- 关于数据库附加错误
- mssql数据库823置疑修复
- CenOS Mysql-PHP开发环境配置自己看
- log4j:WARN Please initialize the log4j system properly.
- 整数二进制表示中1的个数
- 区分汇编中的变量和标号
- 用eclipse来开发C/C++
- sql2000读写数据库时死机,数据库置疑,附加报823错误。
- 单例模式
- Retrotranslator -- JDK1.5->1.4降级工具
- List<? extends Map<String, ?>> 如何理解呢?
- iOS多线程编程指南-目录
- Conversion to Dalvik format failed with error 1
- 开发人员 SWIG 快速入门
- Linux命令学习手册-readelf命令
- 一步步理解Linux进程(3)--内核中进程的实现