SQLSERVER数据库主要状态

可能是因为当前数据库正处在 EMERGENCY (紧急状态)下, 可以使用 alter database 数据库名 set online  来恢复成在线状态!

T-SQL 语句来切换他们的状态

ALTER DATABASE DATABASE_NAME SET ONLINE | OFFLINE |EMERGENCY

一个SQLSERVER数据库会处于很多种状态,例如 ONLINE 、OFFLINE,RESTORING 、RECOVERING 、RECOVERY_PENDING  、SUSPECT、EMERGENCY 。

只有在ONLINE的状态下,数据库才能被正常访问。

可以利用下面的语句来查看它的状态

select name,state_desc from sys.databases

1.ONLINE

只有在ONLINE的状态下,数据库才能被正常访问

2.OFFLINE

我们可以在Microsoft SQL Server Management中看到该数据库,但该数据库名称旁边有"脱机"的字样,说明该数据库现在虽然存在于数据库引擎实例中,但是不可以执行任何有效的数据操作,比如新增,修改,删除等,这就是脱机状态。(这个时候,你就可以直接拷贝源文件了,也就会说最原始的备份方法)

但是:

无法覆盖文件 ‘F:\TEST\SHOP.MDF‘。数据库 ‘SHOP‘ 正在使用该文件。

你依然无法....

3.RESTORING

由于SQLSERVER LAZY WRITE和CHECKPOINT的作用,硬盘上存在一些未提交的数据,如果数据库在这种时候被关闭,下次SQLSERVER重新打开数据库的时候,为了维护数据库的一致性,SQLSERVER一律回滚,以保证数据库事务的一致性(undo/rollback),对于那些已经提交的事务,暂时存在内存中,未写入到磁盘中的,一律redo,在undo和redo的过程叫做数据库恢复。只有经过恢复的数据库,才能保证是一个“一致的”数据库,才能被安全地访问。

4.RECOVERY_PENDING

如果数据库在做恢复的时候不能正常打开所有的数据库文件,数据库会进入RECOVERY PENDING状态。在这个状态下管理员有两种选择,

a.要不用ALTER ONLINE命令使SQLSERVER做一次上线,

b.要不就只能放弃当前数据库,还原备份。

5.SUSPECT

我们可以在Microsoft SQL Server Management中看到该数据库,但该数据库名称旁边有"可疑"的字样,这说明至少主文件组可疑或可能已损坏

对于质疑的解决方案:http://www.jb51.net/article/23363.htm

6.EMERGENCY

数据库标记为 READ_ONLY,已禁用日志记录,并且仅限 sysadmin 固定服务器角色的成员进行访问。EMERGENCY 主要用于故障排除。 例如,可以将由于损坏了日志文件而标记为可疑的数据库设置为 EMERGENCY 状态。 这样,系统管理员便可对数据库进行只读访问。 只有 sysadmin 固定服务器角色的成员才可以将数据库设置为 EMERGENCY 状态。

数据库处于回避恢复模式相关推荐

  1. 无法在数据库 'ycmis2' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。...

    alter database ycmis2 set EMERGENCY  alter database ycmis2 set online 转载于:https://www.cnblogs.com/qa ...

  2. 在备份数据库过程中出现错误, 未能打开数据库‘msdb’, ‘msdb ‘ 数据库处于回避紧急模式!

    错误提示: 未能在数据库 'msdb' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式. 服务器: 消息 3009,级别 16,状态 1,行 1 未能在 msdb 数据库中插 ...

  3. Sql Server实用操作-无数据库日志文件恢复数据库两种方法

    数据库日志文件的误删或别的原因引起数据库日志的损坏 方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启s ...

  4. sqlserver还原到mysql_SQLSERVER完整数据库还原(简单恢复模式)

    完整数据库还原(简单恢复模式) 数据库完整还原的目的是还原整个数据库. 整个数据库在还原期间处于脱机状态. 在数据库的任何部分变为联机之前,必须将所有数据恢复到同一点,即数据库的所有部分都处于同一时间 ...

  5. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式...

    SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式 这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需 ...

  6. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式

    这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需要的朋友可以参考下 如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性 ...

  7. 查看mysql是否归档的命令_查看oracle数据库是否为归档模式

    查看oracle数据库是否为归档模式 [1] 1.select name,log_mode from v$database; NAME LOG_MODE ------------------ ---- ...

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

    无法打开数据库'XXXX'.恢复操作已将该数据库标记为SUSPECT 当你用navciat连接sql server 数据库的时候,发现某个库打不开的时候.爆出了这个'无法打开数据库'XXXX'.恢复操 ...

  9. sqlserver完整恢复模式,简单恢复模式

    #前言: "恢复模式" 是一种数据库属性,它控制如何记录事务,事务日志是否需要(以及允许)进行备份,以及可以使用哪些类型的还原操作. 有三种恢复模式:简单恢复模式.完整恢复模式和大 ...

最新文章

  1. matlab 直方图_MATLAB作图实例:19:用二元直方图分析图片颜色
  2. java调用so库中的native方法_Java如何调用本地.so库里的方法
  3. 部署站点支持Https访问的方法
  4. 将训练集构建成ImageNet模型
  5. [BZOJ3583]杰杰的女性朋友(矩阵快速幂)
  6. vs2010的sdf文件和ipch文件夹
  7. 亚信安全发布《2022年网络安全发展趋势及十大威胁预测》
  8. flutter initializing gradle终极解决方案
  9. linux shell中$0,$?,$!等的特殊用法
  10. asp.net中如何解决4M以上文件的上传
  11. 《21天学通Java(第7版)》——VC程序员的学习笔记1
  12. Android按钮样式
  13. Oracle dmp文件结构探秘
  14. iOS项目开发中的知识点与问题收集整理①
  15. Pale Transformer:新视觉ViT主干
  16. linux 打开网页 看不清网页上的字体呈现出框,电脑浏览器打开网页字体显示模糊如何解决...
  17. 基于MATLAB的计算机视觉与深度学习实战
  18. ebcdic java_java EBCDIC
  19. zz from 古文中惊艳的句子
  20. netty案例,netty4.1源码分析篇五《一行简单的writeAndFlush都做了哪些事》

热门文章

  1. 网络接入技术及其特点
  2. wget命令使用及参数详解
  3. 计算机主机清洁方法,台式电脑清洁方法 给你的电脑洗个澡
  4. 手机备份/恢复分区(boot/system/userdata)、数据的几种方法
  5. Day3 | 数据库操作DML
  6. 【教学类-07-03】20221106《破译电话号码-图形版(2类)+自制(PDF打印)》(大班主题《我要上小学》)
  7. 手机生成ODEX提升开机速度的原因
  8. 虚拟DOM和真实DOM的区别和联系
  9. Docker在英雄联盟游戏中的实践探索(一)
  10. 仿QQ、微信翻页查看聊天记录