MSSQL 数据库 置疑状态的解决方法

作者: 蓝鹰 分类: MSSQL 发布时间: 2014-11-11 14:48 ė5 浏览数 6MSSQL 数据库 置疑状态的解决方法已关闭评论

1、sql2000的置疑一般由硬盘错误引起,比如非法关机,遇到很多次都是这个原因,所以平时应该多注意备份。

2、首先复制一份出错的数据库,然后新建一个数据库(如test)。

3、停止sql服务,将刚生成日志文件test_log.ldf删除,用备份的数据库mdf文件覆盖刚生成的数据库文件test_data.mdf。

4、查询分析器输入以下:
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go

5、update sysdatabases set status=-32768 where dbid=DB_ID('test')

6、dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

执行结果:
警告: 数据库 ‘test’ 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致
性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

7、dbcc checkdb('test')

执行结果
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 ‘test’ 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

8、sp_dboption 'test','dbo use only','false'

9、最后:
sp_configure 'allow updates',0
go
reconfigure with override
go

10、至此完成!

本文出自 蓝鹰博客,转载时请注明出处及相应链接。

本文永久链接: http://www.lanyingblog.com/blog/2110.html

Ɣ回顶部