NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: SqlServer数据库置疑的解决办法

SqlServer数据库置疑的解决办法

from:http://junmail.javaeye.com/blog/146363

SqlServer数据库置疑的解决办法

工作中已经碰到两次这种情况了,想想还是应该把他记录下来,利人利己。

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

问题现象:

数据库后面有“置疑”字样,查看系统事务日记出现以下错误:
错误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”号错误。

解决方法:

1、新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设为suspect

2、把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'
3、把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )
4、恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override
5、然后用DBCC CHECKDB ('数据库名')看看有没有错误
6、如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库。


这篇文章对你多有用?

相关文章

article [Sql Server] 数据库损坏无法附加紧急修复
如果备份的数据库有2个文件,分别是.LDF 和...

(No rating)  8-5-2010    Views: 1616   
article SQLServer数据库管理常用SQL和T-SQL语句

(No rating)  9-2-2010    Views: 695   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited