管理杂谈OA答疑ERP答疑教程搜索

登录SQL报错:无法打开数据库clicksun,恢复操作已经将该数据库标记为SUSPECT,如何解决?


:早上公司断电,服务器启动后登录数据库SQL Server报错:无法打开数据库clicksun,恢复操作已经将该数据库标记为suspect,如何解决?

出现这个错误提示说明数据库有部分损坏,可以用下面两种方法解决:

方法一:尝试用以下指令修复受损坏的数据库
当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
说明:
1、执行过程中可能会提示错误,再次执行即可;
2、如果在执行CheckDB时报错,然后数据库可以查询了,但是发现很多表和视图查询时报错数据库页已标记为 RestorePending,可能表明磁盘数据已损坏。要从此状态恢复系统数据,请按下面方法二执行数据库备份还原操作。

方法二:用历史数据库备份文件恢复数据库clicksun
采用以上方法还是无法修复数据库的话,那就只能删除当前出问题的数据库clicksun,然后找到点晴安装目录“D:\clicksun\files\db”下的数据库bak备份文件,在SQL Server中恢复备份数据库clicksun
优点:一定可以顺利恢复;
弊端:会丢失一天的数据。
参考教程:
点晴OA系统的bak或mdf数据库备份文件如何恢复到SQL Server中?[35206]
  http://5208.oa22.cn

更多精彩文章浏览...
点击右上角图标分享到朋友圈
官方网站:http://www.clicksun.com.cn
咨询热线:400-186-1886
服务邮箱:service@clicksun.cn