此文讲述的是SQL Server置疑的出现的原因,现象,以及对其的正确解决方案的描述,如果你对SQL Server置疑的出现的原因,现象,以及对其的正确解决方案这些相关内容心存好奇的话,以下的文章将会揭开它的神秘面纱。
原因:通常这个问题是由于硬盘空间不够或硬盘读写错误造成的。
现象:数据库后面有“SQL Server置疑”字样,查看系统事务日记出现以下错误:
错误1---------------------------------------------
错误: 823,严重度: 24,状态: 2
I/O error 23(数据错误 (循环冗余检查)。) detected during read at offset 0x00000000200000 in file 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Jiapei_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.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。