无法打开数据库‘XXXX’。恢复操作已将该数据库标记为SUSPECT或者打开Microsoft SQL Server Management Studio发现数据库被标为可疑的解决办法
无法打开数据库‘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发现数据库被标为可疑的解决办法相关推荐
- Microsoft SQL Server Management Studio ------- 附加数据库 对于 服务器“xxxamp;amp;quot;失败(错误码5120)
标题: Microsoft SQL Server Management Studio ------------------------------ 附加数据库 对于 服务器"DESKTOP- ...
- Microsoft SQL Server Management Studio ------- 附加数据库 对于 服务器“xxx失败(错误码5120)
标题: Microsoft SQL Server Management Studio ------------------------------附加数据库 对于 服务器"xxx" ...
- Microsoft SQL Server Management Studio 附加数据库时出错。有关详细信息,请单击……
在制作毕业设计的作业时,需要连接SQL数据库,在附加.mdf数据库文件时,出现了这个错误.于是上网查阅.我列出几个解决办法:基本上都是权限问题,或者认证方式以及版本问题. 1.找到.mdf文件,右击, ...
- Microsoft SQL Server Management Studio ------- 附加数据库失败
加数据库 对于 服务器"xxx"失败. (Microsoft.SqlServer.Smo)有关帮助信息,请单击: http://go.microsoft.com/fwlink?Pr ...
- Microsoft SQL Server Management Studio附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。
附加数据库时出错.有关详细信息,请单击"消息"列中的超链接. 导入别人的项目时导入mdf和ldf数据库文件时,附加数据库出错 这是由于文件夹的权限问题,详细解决办法如下图所示: 我 ...
- 使用Microsoft SQL Server Management Studio连接远程阿里云SQL Server数据库
首先我买的是阿里云域名与网站->云虚拟主机:如下 点云虚拟主机进去后,可以看到你的主机: 点击主机,看到详细信息: 这里重点看数据库的信息. 主要到有两点: 数据库类型: SqlServer 数 ...
- SQL Server Management Studio管理数据库
数据库管理 文件和文件组 (1)数据库文件(Database File) 数据库文件是存放数据库数据和数据库对象的文件,一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据:当有多个数据 ...
- Microsoft SQL Server Management Studio数据库不能附加与分离问题
1.首先提一下这个软件的安装,感觉很操蛋,跟office差不多,如果是第一次安装,那么就是傻瓜式的,如果不是第一次安装,就会存在卸载不干净的问题,这会直接导致安装失败,我这次安了整整一天,第一次双击快 ...
- 使用SQL Server Management Studio 创建数据库备份作业
--完整备份,每周一次 USE Master GO declare @str varchar(100) set @str='D:\Weldon\DBBACK\FullBak'+replace(repl ...
最新文章
- ajax对服务器路径请求
- PHP 使用 Redis
- 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录
- SAP Spartacus默认的货币列表currency是从源代码什么地方读取的
- fabric 转账_Fabric 学习笔记-架构初探
- 机器学习算法平台alink_机器学习-逻辑回归算法
- threejs 绘制球体_Three.js 第一篇:绘制一个静态的3D球体
- 让人头皮发麻的KMP的next函数 困扰我三四天后终于解决了
- ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
- 2021-01-31
- 中国风歌曲介绍及推荐
- 简单的HTML5音乐播放器带歌词滚动,基于jQuery实现歌词滚动版音乐播放器的代码...
- 少有人走的路--心智成熟的旅程
- 得物 × StarRocks:潮流网购社区的极速 OLAP 实践
- 正态分布,锐利分布,莱斯分布 matlab拟合源码
- MapGuide 初步
- docker——Ubuntu镜像操作和apache web容器操作小实训
- PJzhang:关闭wps小广告和快速关闭445端口
- 嵌入式接口之TIM定时器与NVIC的STM32模板库函数的一些解释
- linux构建widi显示服务,如此简单 Intel WiDi无线高清设置教程