SQL Server置疑的出现原因及破解方法?

来源:北大青鸟飞迅校区|发布时间:2013-04-20 16:45:48

  问题:SQL Server置疑的出现的原因,现象,以及对其的正确解决方案的描述?

       :如果你对SQL Server置疑的出现的原因,现象,以及对其的正确解决方案这些相关内容心存好奇的话,以下的文章将会揭开它的神秘面纱。

  原因:通常这个问题是由于硬盘空间不够或硬盘读写错误造成的。

  现象:数据库后面有“SQL Server置疑”字样,查看系统事务日记出现以下错误:

  错误1

  错误: 823,严重度: 24,状态: 2

  I/O error 23(数据错误 (循环冗余检查)。) detected during read at offset 0x00000000200000 in file 'C:Program FilesMicrosoft SQL ServerMSSQLDataJiapei_Data.MDF'.

  错误2

  错误: 3313,严重度: 21,状态: 2

  恢复数据库 'Jiapei' 的日志中记录的操作时出错。出错位置在日志记录 ID (274:377:2)。

  错误3

  错误: 3313,严重度: 21,状态: 2

  Error while redoing logged operation in database 'Jiapei'. Error at log record ID (274:377:2).

  数据库可以分离,但分离后无法附加,附加时出现“823”号错误。

  程序突然连接不数据库了,开企业管理器发现SQL Server置疑!!!重启数据库后该数据库又找不到了。

  解决方法:

  1.新建一个同名的数据库

  2.再停掉SQL Server

  3.用suspect数据库的文件覆盖掉这个新建的同名数据库

  4.再重启SQL Server

  5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)

  USE MASTER

  GO

  SP_CONFIGURE 'ALLOW UpdateS',1 RECONFIGURE WITH OVERRIDE

  GO

  Update SYSDATABASES SET STATUS =32768 Where NAME='置疑的同名数据库名'

  Go

  sp_dboption 'SQL Server置疑的同名数据库名', 'single user', 'true'

  Go

  DBCC CHECKDB('置疑的同名数据库名')

  Go

  update sysdatabases set status =28 where name='置疑的同名数据库名'

  Go

  sp_configure 'allow updates', 0 reconfigure with override

  Go

  sp_dboption 'SQL Server置疑的同名数据库名', 'single user', 'true'

  Go

  6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。

上一篇:MySQL转换Oracle时七大注意事项
下一篇:如何从SQL备份文件中导入现存数据库?

热门话题

招生热线: 4008-0731-86 / 0731-82186801

学校地址: 长沙市天心区团结路6号

Copyright © 2006 | 湖南大计信息科技有限公司 版权所有

湘ICP备14017520号-3

关注我们
在线咨询
嘿,我来帮您!