SQL SERVER 2005 数据库置疑修复

时间:2021-04-09 20:46:07

alter database 置疑数据库 set emergency
go
alter database 置疑数据库 set single_user with rollback immediate
go
use master
go
alter database 置疑数据库 Rebuild Log on
(name=SuspectDB_log,filename=’D:/Log/置疑数据库_log.LDF’)
go
alter database 置疑数据库 set multi_user
go

DBCC CHECKDB('置疑数据库')
go

网上的很多是针对sql 2000 不适用2005
如命令 UPDATE  SYSDATABASES  SET  STATUS  =32768  WHERE  NAME='置疑的数据库名' 
在2005不支持
改为 alter database 置疑数据库 set emergency

用dbcc checkdb检测之后发现有一致性的错误,可以用REPAIR_ALLOW_DATA_LOSS进行再次修复。

 

用exec sp_msforeachtable 'select count(*) from ?'来验证数据库中的表是否真正没有错误。