首页 > 代码库 > 服务器直接关机,再开机,硬重启时把数据库搞坏了,状态为“可疑”的解决方法

服务器直接关机,再开机,硬重启时把数据库搞坏了,状态为“可疑”的解决方法

服务器放的网站都正常,就是远程连不上,着急改点东西,就让机房的人把服务器重启了一下,那边一般都是直接关机,再开机,硬重启。

之前也一直没有出现过异常,但今天硬重启了以后,发现网站出错,一看原来是数据库状态为“可疑”,不能用了,真是吓我一跳,第一次遇到这种问题。

在网上搜了一下,找到解决方法,管用,挺好的,记录一下。

首页把iis及一些连数据库的服务停掉,80和1433端口在防火墙里面也禁止连接,意思就是不让访问,要不会影响执行速度。

把DbName换成坏掉的数据库名,当前数据库选Master,步骤如下:

1、修改数据库为紧急模式 
ALTER DATABASE DbName SET EMERGENCY
 
2、使数据库变为单用户模式 
ALTER DATABASE DbName SET SINGLE_USER
 
3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。 
DBCC CheckDB (DbName, REPAIR_ALLOW_DATA_LOSS)
 
4、使数据库变回为多用户模式 
ALTER DATABASE DbName SET MULTI_USER

只需要这四步就可以了。