it has been marked SUSPECT by recover Explanation
机房停电造成的sqlserver数据库打不开,并且提示报错it has been marked SUSPECT by recover Explanation,遇到这种事情不要着急,因为这是可以修复的。我们把该问题数据库当初可疑数据库来处理。
解决方案
遇到这种情况,如果你不是集群和有备份的话,第一件是事情就是先备份数据文件.mdf/.ndf和日志文件.ldf,一般linux上默认的路径为/var/opt/mssql/data/中,重要的事情说3遍:备份、备份、备份
- 去sqlserver服务器上备份数据文件和日志文件;
- 删除可疑数据库;
- 新建同名数据库,并重新生成数据文件和日志文件;
- 用备份的数据文件替换掉新生成的数据文件;
- 到目前为止还是不行,库里没有任何数据,没关系,奇迹马上出现
- 依次执行下面命令
--设置为单用户状态 ALTER DATABASE 你的数据库名称 SET SINGLE_USER; GO --设置为紧急模式 ALTER DATABASE 你的数据库名称 SET EMERGENCY; GO --通过自带的“CHECKDB”命令修复数据库,允许丢数据 DBCC CHECKDB(你的数据库名,REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS; GO --恢复成多用户状态 ALTER DATABASE 你的数据 库名 SET MULTI_USER; GO
恭喜你,是不是数据库里面已经有数据了呢?
这种方案可能会造成数据丢失,慎用!!!