无法打开数据库‘XXXX’。恢复操作已将该数据库标记为SUSPECT

当你用navciat连接sql server 数据库的时候,发现某个库打不开的时候。爆出了这个‘无法打开数据库‘XXXX’。恢复操作已将该数据库标记为SUSPECT’错误,那么你读这篇文章就对了,此时的你可以打开mssm来连接下数据库,会发现这个数据库后面被标上了“可疑两个字”

这边小编就不附图了哈,毕竟是数据库不要随便贴图,但是报错大家如果遇见了,也就自然见到了,报错的内容也就是文章的标题内容

1. 原因

一般来说,小概率会遇见这个问题,我这边遇见这个问题是因为这个数据库服务因这几天下大雨,突然断电,导致数据库异常

前提小编还是要说好,出现这种情况,问题数据库是无法进行备份的,但是可以备份mdf文件和log日志文件,如果有DBA的话,最好是DBA来操作这个,毕竟小编也是个半斤八两,不是专业搞数据库的,包括下面的这些资料整理,有好多地方还是不是很理解的,所以大家一定要备份好mdf和日志文件

废话不多说,开搞

小编也是个比较偏技术的人,宁愿花费时间去研究,也不会多废话浪费时间

1. 打开Microsoft SQL Server Management Studio,连接上数据库

1.1 点击【新建查询】,创建sql执行区域

1.2 修改出问题的数据库为紧急模式

 sql 语句:ALTER DATABASE 库名 SET EMERGENCY

1.3 set可疑数据库变为单用户模式

sql 语句:ALTER DATABASE 库名 SET SINGLE_USER

1.4 修复数据库日志重新生成

此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。
DBCC CheckDB (库名 , REPAIR_ALLOW_DATA_LOSS)
命令执行完成后可能会出现以下警告:
警告: 数据库 ‘库名’ 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。

1.5 不用理会此警告,直接关闭Microsoft SQL Server Management Studio。

2. 重新打开Microsoft SQL Server Management Studio,

2.1 set使数据库变回为多用户模式

 sql语句:ALTER DATABASE 库名 SET MULTI_USER

2.2 可能遇见的报错

此数据库处于单用户模式,删除是提示,当前某个用户已与其连接。 ALTER DATABASE 语句失败。 (Microsoft SQL Server,错误: 5064)

2.3 上述报错解决方法

USE [master]     #调用master数据库
------------------------------------------------------------------------------------------------------
SET ANSI_NULLS ON    #表示对空值(null)对等于(=)或不等于(<>)进行判断时,遵从 SQL-92 规则
------------------------------------------------------------------------------------------------------
SET QUOTED_IDENTIFIER ON    ##表示使用  引用标识符,标识符可以用双引号分隔,但是,文字必须用单引号分隔
------------------------------------------------------------------------------------------------------建一个存储过程,断开所有用户连接。下面是一条命令  create   proc   [dbo].[killspid]   (@dbname   varchar(20))  as  begin  declare   @sql   nvarchar(500)  declare   @spid   int  set   @sql='declare   getspid   cursor   for    select   spid   from   sysprocesses   where   dbid=db_id('''+@dbname+''')'  exec   (@sql)  open   getspid  fetch   next   from   getspid   into   @spid  while   @@fetch_status<>-1  begin  exec('kill   '+@spid)  fetch   next   from   getspid   into   @spid  end  close   getspid  deallocate   getspid  end  -------------------------------------------------------------------------------------------------------------------------
use   master        #再次调用master数据库
------------------------------------------------------------------------------------------------------------------------
exec   killspid   '出问题的数据库名'      ##执行killapid操作

2.4 再次set使数据库变回为多用户模式

与上面的解决方法间隔时间短点最好

sql语句:ALTER DATABASE 库名 SET MULTI_USER

3. 关闭Microsoft SQL Server Management Studio

4. 重启sql server服务

4.1 cmd命令启动

开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务
Net stop mssqlserver --停止服务
Net start mssqlserver --启动服务
再次,打开Sql Server 2008时被标记为“可疑”的数据库已恢复正常状态。

4.2 服务启动

直接在服务里面找到sql server 服务,重新启动此服务即刻

无法打开数据库‘XXXX’。恢复操作已将该数据库标记为SUSPECT或者打开Microsoft SQL Server Management Studio发现数据库被标为可疑的解决办法相关推荐

  1. Microsoft SQL Server Management Studio ------- 附加数据库 对于 服务器“xxxamp;amp;quot;失败(错误码5120)

    标题: Microsoft SQL Server Management Studio ------------------------------ 附加数据库 对于 服务器"DESKTOP- ...

  2. Microsoft SQL Server Management Studio ------- 附加数据库 对于 服务器“xxx失败(错误码5120)

    标题: Microsoft SQL Server Management Studio ------------------------------附加数据库 对于 服务器"xxx" ...

  3. Microsoft SQL Server Management Studio 附加数据库时出错。有关详细信息,请单击……

    在制作毕业设计的作业时,需要连接SQL数据库,在附加.mdf数据库文件时,出现了这个错误.于是上网查阅.我列出几个解决办法:基本上都是权限问题,或者认证方式以及版本问题. 1.找到.mdf文件,右击, ...

  4. Microsoft SQL Server Management Studio ------- 附加数据库失败

    加数据库 对于 服务器"xxx"失败. (Microsoft.SqlServer.Smo)有关帮助信息,请单击: http://go.microsoft.com/fwlink?Pr ...

  5. Microsoft SQL Server Management Studio附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。

    附加数据库时出错.有关详细信息,请单击"消息"列中的超链接. 导入别人的项目时导入mdf和ldf数据库文件时,附加数据库出错 这是由于文件夹的权限问题,详细解决办法如下图所示: 我 ...

  6. 使用Microsoft SQL Server Management Studio连接远程阿里云SQL Server数据库

    首先我买的是阿里云域名与网站->云虚拟主机:如下 点云虚拟主机进去后,可以看到你的主机: 点击主机,看到详细信息: 这里重点看数据库的信息. 主要到有两点: 数据库类型: SqlServer 数 ...

  7. SQL Server Management Studio管理数据库

    数据库管理 文件和文件组 (1)数据库文件(Database File) 数据库文件是存放数据库数据和数据库对象的文件,一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据:当有多个数据 ...

  8. Microsoft SQL Server Management Studio数据库不能附加与分离问题

    1.首先提一下这个软件的安装,感觉很操蛋,跟office差不多,如果是第一次安装,那么就是傻瓜式的,如果不是第一次安装,就会存在卸载不干净的问题,这会直接导致安装失败,我这次安了整整一天,第一次双击快 ...

  9. 使用SQL Server Management Studio 创建数据库备份作业

    --完整备份,每周一次 USE Master GO declare @str varchar(100) set @str='D:\Weldon\DBBACK\FullBak'+replace(repl ...

最新文章

  1. ajax对服务器路径请求
  2. PHP 使用 Redis
  3. 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录
  4. SAP Spartacus默认的货币列表currency是从源代码什么地方读取的
  5. fabric 转账_Fabric 学习笔记-架构初探
  6. 机器学习算法平台alink_机器学习-逻辑回归算法
  7. threejs 绘制球体_Three.js 第一篇:绘制一个静态的3D球体
  8. 让人头皮发麻的KMP的next函数 困扰我三四天后终于解决了
  9. ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
  10. 2021-01-31
  11. 中国风歌曲介绍及推荐
  12. 简单的HTML5音乐播放器带歌词滚动,基于jQuery实现歌词滚动版音乐播放器的代码...
  13. 少有人走的路--心智成熟的旅程
  14. 得物 × StarRocks:潮流网购社区的极速 OLAP 实践
  15. 正态分布,锐利分布,莱斯分布 matlab拟合源码
  16. MapGuide 初步
  17. docker——Ubuntu镜像操作和apache web容器操作小实训
  18. PJzhang:关闭wps小广告和快速关闭445端口
  19. 嵌入式接口之TIM定时器与NVIC的STM32模板库函数的一些解释
  20. linux构建widi显示服务,如此简单 Intel WiDi无线高清设置教程

热门文章

  1. 水泥混凝土摊铺机在公路施工建设中的效果浅谈
  2. 【建议收藏】5款好用到爆的神仙软件,太赞了
  3. 快速排序Java代码实现
  4. 2018年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版
  5. transition-初窥transition css动画效果
  6. iar 预编译会把非条件的去掉_IAR error汇总
  7. 记录华为手机开启被消去的功能的方法(需root)
  8. 课后作业4——个人总结
  9. macOS在启动台创建应用启动快捷图标
  10. Java文本框设置灰色_如何在JTextField中显示灰色的“幽灵文本”?