当数据库置疑或者长期处于recovery状态,通过sp_resetstatus存储过程修复无效,可以采用丢弃数据库日志文件,重建日志文件的方法来修复数据库,具体办法如下。
--置数据库的紧急模式
alter database dbname set emergency
go
go
--置数据库为单用户模式
alter database dbname set single_user with rollback immediate
go
use master
go
alter database dbname set single_user with rollback immediate
go
use master
go
--重建数据库日志文件
alter database dbname Rebuild Log on
(name=dbname_log,filename='D:\Log\dbname_log.LDF')
go
alter database dbname Rebuild Log on
(name=dbname_log,filename='D:\Log\dbname_log.LDF')
go
--最后设置数据库为多用户模式。
alter database dbname set multi_user
alter database dbname set multi_user
通过以上方法修复数据库后,可以dbcc checkdb一下数据库,如果发现页级错误,可以通过以下命令修复。
dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(dbname,REPAIR_REBUILD)
dbcc checkdb(dbname,REPAIR_REBUILD)
本文介绍了一种修复处于recovery状态或置疑的数据库的方法,包括设置紧急模式、单用户模式、重建日志文件及最终恢复多用户模式的过程。还提供了修复页级错误的额外命令。
3038

被折叠的 条评论
为什么被折叠?



