当sqlserver看到数据库状态为可疑,导致原因为服务器意外停电,第一次遇到这种情况,折腾了很久终于解决,记下解决方案:
1,将SQL数据库停止,不能停止就强制结束进程。(CS端应用程序关闭,程序服务停止)
2,使数据库变为紧急模式(查询界面)
ALTER DATABASE CStation SET EMERGENCY
4,使数据库变为单用户模式
ALTER DATABASE CStation SET SINGLE_USER
5,修正数据库日志重新生成,此命令检查表分配,结构,逻辑完整性和所有数据库中的对象不正确。
DBCC CheckDB (CStation , REPAIR_ALLOW_DATA_LOSS)
6,使数据库变回为多用户模式
ALTER DATABASE CStation SET MULTI_USER
- 重启SQL服务,重新连接,一般就恢复正常了。(sqlserver客户端右键重启服务,发现实例可疑标记消失,表示成功。)
ALTER DATABASE CStation SET EMERGENCY; ALTER DATABASE CStation SET SINGLE_USER; DBCC CheckDB (CStation , REPAIR_ALLOW_DATA_LOSS); ALTER DATABASE CStation SET MULTI_USER; |