sqlserver附加数据库错误823的解决方案
一、SQL-Server附加数据库时失败。
1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。
2、异常分析:关于823错误的 SQL-SERVER 中的帮助:
================================

错误 823
严重级别 24
消息正文
在文件 "%4!" 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释
Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。
3、解决办法:
在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='数据库名' /* 设置数据库状态 */
第三、
DBCC REBUILD_LOG ('数据库名','D:\database\Test_Log.LDF') /* 重建LDF文件 */
第四、
update sysdatabases set status=0 where name='数据库名' /* 重置数据库状态 */
第五、
restore database 数据库名 WITH RECOVERY /* 恢复数据库 */
第六、
exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 关闭打开修改系统表的开关 */
按照此方法操作,应该能修复数据库正常访问了。如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。
============================================================
 补充说明:用上面的六步把数据库置疑的问题解决了,但是数据库表里还有损坏的表(inf_gdscode),把坏表导出的时候也不成功。最后在查询分析器里运行:

USE nmgbt_hcxuexipos (数据库名)
GO
DBCC CHECKTABLE  ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)
GO

 
-----------------
数据表破坏的修复:
DBCC CHECKTABLE('表名')
alter database 数据库名 set single_user with rollback   immediate
dbcc checktable('表名',repair_allow_data_loss)
alter database 数据库名 set multi_user with rollback   immediate

转载于:https://blog.51cto.com/gaoshan/168446

sql2000数据库置疑相关推荐

  1. sql2000数据库置疑造成的原因以及如何解决置疑

    sql2000数据库置疑造成的原因以及如何解决置疑 参考文章: (1)sql2000数据库置疑造成的原因以及如何解决置疑 (2)https://www.cnblogs.com/www123----/p ...

  2. 服务器消息7995,修复sql2000数据库置疑时出现的错误.docx

    修复SQL2000数据库置疑时出现的错误 在执行最后一步dbcc checkdb(dbname)检查完整性上出的错 服务器:消息8946,级别16,状态12,行2 表错误:分配页(1:461016)的 ...

  3. SQL server 2000及SQL server 2005 数据库置疑解决办法

    以数据库mpcyerp为例,做对数据库置疑的处理方法说明: 一.将mpcyerp_Data.MDF文件拷贝出来并备份 在企业管理器中建立一个同名的新数据库mpcyerp 二.停止SQL Server服 ...

  4. Sql server 2005与2008 数据库置疑修复

    SQL2005和SQL2008数据库可疑状态处理,类似于SQL2000的置疑处理 USE MASTER GO//将数据库设成紧急模式 SP_CONFIGURE 'ALLOW UPDATES',1 RE ...

  5. SQL2000数据库附加失败提示:crosoft SQL-DMO(ODBC SQLState:HY000) 错误 3456:未能恢复日志记录(428653:5176:89) 解决方法教程

    SQL2000数据库附加失败提示:crosoft SQL-DMO(ODBC SQLState:HY000) :错误 3456:未能恢复日志记录(428653:5176:89) ,事务ID(1:1868 ...

  6. 将txt文件和excel文件导入SQL2000数据库

    将txt文件和excel文件导入SQL2000数据库 在做一些web数据库管理系统的时候经常要实现将帐户批量注册的功能,今天就来讲讲如何在C#-web项目中将txt文件和excel文件导入SQL200 ...

  7. 修改MS SQL2000数据库的所有者,很实用

    修改MS SQL2000数据库的所有者,很实用 2008-10-08 09:04 有些时候,一个数据库的管理员,需要将几个不同的数据库内的数据合并到一起,如果几个数据库的结构基本相同,只需新建一个数据 ...

  8. SQL2000数据库中删除“坏表”的方法

    SQL2000数据库中删除"坏表"的方法 在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在SQL Server 2000中造成一个异常问题:在企业管理器中打开数据库发 ...

  9. sqlserver日志文件在哪_用友SQL SERVER数据库置疑修复实例

    数据库置疑修复实例 方法1: 企业管理器能够正常分离附加时: 第一步:先把数据库服务停止客户数据SQL SERVER服务停止把软件安装所在目录的账套数据复制一份,以避免操作不当造成的数据丢失. 小提示 ...

最新文章

  1. iOS 利用JSPatch 添加热补丁功能
  2. 生成服务器证书的申请文件和私钥文件
  3. 漫谈高数曲线积分的物理意义
  4. 前端学习笔记之 创建节点 与 添加节点案例
  5. 【leetcode 简单】 第六十七题 回文链表
  6. Spring使用Cache、整合Ehcache
  7. COMSOL Multiphysics 学习小记3 变压器及电感专题记录
  8. 计算机主机地址填什么,什么是IP地址 何设置IP地址
  9. 午夜时分,当你看到选择心动秘书的游戏广告,能用Python做什么?
  10. barbie黄佳丽--华侨大学
  11. Python 和 Elasticsearch 构建简易搜索
  12. phpstrom函数注释模板_PHPSTORM模板变量注释
  13. Volatile重排序规则的一些理解
  14. 一种防山火在线监测装置
  15. oracle sun小机处理器,浅析IBM、HP和Sun新一代小型机竞争格局
  16. ajax结合前端模板引擎ejs.js渲染页面(自己理解,不建议参考)
  17. 自学SAP的一些建议
  18. Unity入门案例(约翰的密室逃脱)
  19. 《生命中不能承受之轻》笔记
  20. 金士顿U盘无法识别的修复软件,方便好用

热门文章

  1. Jzoj3806 小X 的道路修建
  2. 最近的C语言编程错误小结
  3. 一个强迫症的Git 选择
  4. 理解VMware虚拟网络
  5. (实用)Ubuntu 、CentOS更换国内源
  6. 在mac操作系统下,Intellij IDEA默认jdk版本的修改
  7. mysql慢时如何防止重复账户_如何进行mysql数据库的优化? --慢查询定位 --索引详解 -- 定时备份...
  8. springmvc的工作原理_SpringMVC工作原理
  9. linux 输出重定向_linux学习笔记(实验楼) 实验12 数据流重定向
  10. canvas 闭合_想使用SVG或者canvas 手绘闭合多边形,使用vml效果已经实现了,由于vml只能支持ie所以想转成SVG或canvas...