数据库无日志报错恢复

造成原因,客户的SqlServer为2000版本,由于日志过大无人管理,没有空间了,然后客户分离数据库想删除日志(据说200G的日志=.=),然后显示分离出错,但是刷新后数据库却已经分离,删除日志后,数据库无法附加,经过在网上查询,总结出以下办法,幸好有用的表都没有损坏,只有统计表数据损坏,不过没关系反正作业会重置这些表的.

--确保企业管理器没有打开任何数据库
--设置数据库紧急状态
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go

 

--设置数据库为紧急模式
update sysdatabases set status=-32768 where dbid=DB_ID('Procurement')

 

--重建数据库日志文件
dbcc rebuild_log('Procurement','D:\Procurement_log.ldf')

 

--验证数据库一致性(可省略)
dbcc checkdb('Procurement')

 

--设置数据库为正常状态
sp_dboption 'Procurement','dbo use only','false'

 

--最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复
sp_configure 'allow updates',0
go
reconfigure with override
go

 

现在你的数据库就允许连接了,现在可以查看一下每个表的数据是否有问题,如果有问题,只能找专业的数据回复了.

posted @ 2012-04-20 08:49  大光头  阅读(360)  评论(0编辑  收藏  举报