当SQL SERVER数据库状态为质疑(SUSPECT)状态时,我们可以用以下方法来处理:
1、修改数据库为紧急模式:ALTER DATABASE DBName SET EMERGENCY;
2、使数据库变为单用户模式:ALTER DATABASE DBName SET SINGLE_USER;
3、检查数据库的完整性、修复数据库日志重新生成,此命令检查数据库文件的分配、结构、逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误,但是,这些修复可能会导致一些数据丢失:DBCC CHECKDB(‘DBName’);
4、使数据库变回为多用户模式:ALTER DATABASE DBName SET MULTI_USER;
5、检查没有错误则恢复数据库为正常模式:ALTER DATABASE DBName SET ONLINE。
优点:恢复得当的话,可以保全全部数据;
弊端:可能恢复失败。
操作方法:
在SQL Server管理器(SQL Server Management Studio)中,新建查询,执行以下SQL(注意下面的clicksun是点晴OA数据库的名称,如果改为了其他名称,那么clicksun也要相应更改,将红色文本复制到查询框中执行):
USE master
GO
ALTER DATABASE clicksun SET EMERGENCY;
GO
ALTER DATABASE clicksun SET SINGLE_USER;
GO
DBCC CHECKDB (clicksun, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;
GO
ALTER DATABASE clicksun SET MULTI_USER;
GO
ALTER DATABASE clicksun SET ONLINE;
GO