数据库版本为sqlserver2008
早上公司断电,服务器启动后有一个数据库编程可疑状态无法查询,在网上搜了下,执行了以下命令
1、修改数据库为紧急模式
ALTER DATABASE jd13dafa SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE jd13dafa SET SINGLE_USER
3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。
DBCC CheckDB (jd13dafa , REPAIR_ALLOW_DATA_LOSS)
4、使数据库变回为多用户模式
ALTER DATABASE jd13dafa SET MULTI_USER
在执行CheckDB时报错,然后数据库可以查询了,但是发现很多表和视图查询时报错“数据库页已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作”