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

一、下图主要反映了数据库的主要状态之间的切换

二、各种状态的简单介绍

1、ONLINE (在线)

这种状态下,数据库可以被普通用户访问,可以被查询和修改。

2、RESTORING (正在还原)

数据库在还原状态下

3、RECOVERING (正在恢复)

(1)、Recovering主要处理3件事情:

[1]、分析要做的工作:就是在事务日志文件中,找到那些事务要重做,那些事务要回滚 [2]、Redo:将已经提交的但是没有写入数据文件的事务,做前滚 [3]、undo:对没有提交的事务做回滚

(2)、以下几个动作会让数据库进入Recovering:

[1]、创建数据库 [2]、Alter Online,上线数据库 [3]、RESTORE WITH RECONVERY:恢复数据库 [4]、DatabaseStartup,数据库启动,如果数据库设置了自动关闭,就会在用户第一次访问的时候做这个动作。

(3)、此时如果遇到问题就进入RECOVERY_PENDING。如果正常就会变成ONLINE。

4、RECOVERY_PENDING(等待恢复)

(1)、如果数据库在做恢复的时候不能正常打开所有的数据库文件,数据库会进入RECOVERY PENDING状态。

(2)、这种情况下,最可能的原因是丢失数据文件或日志文件。

(3)、解决办法:用ALTER ONLINE再恢复一次,或者使用备份恢复

5、SUSPECT  (置疑)

(1)、当数据库做恢复的时候由于数据文件或者日志文件里的损坏而失败,数据库会进入SUSPECT状态。

(2)、解决方法:

[1]、再做一次ALTER ONLINE ,让SQLSERVER再做一次恢复

[2]、放弃当前数据库,还原备份

[3]、将数据库状态设置为EMERGENCY,继续尝试修复数据库

6、EMERGENCY (紧急)

(1)、紧急模式。

(2)、这个状态下,SQLSERVER对没有完成恢复的数据库开放一个只读窗口,供管理员在没有备份的情况下尽可能地挽救数据。

7、OFFLINE (脱机)

(1)、数据库处于离线状态,这时候数据库也不能被访问。

(2)、可以使用ALTER ONLINE命令,让数据库开始恢复,从而进入ONLINE状态。

SQL SERVER数据库状态的更多相关文章

  1. 4. SQL Server数据库状态监控 - 作业状态

    原文:4. SQL Server数据库状态监控 - 作业状态 有很多地方可以设置定时任务,比如:Windows的计划任务,Linux下的crontab,各种开发工具里的timer组件.SQL Serv ...

  2. 2. SQL Server数据库状态监控 - 错误日志

    原文:2. SQL Server数据库状态监控 - 错误日志 无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯 ...

  3. 3. SQL Server数据库状态监控 - 可用空间

    原文:3. SQL Server数据库状态监控 - 可用空间 数据库用来存放数据,那么肯定需要存储空间,所以对磁盘空间的监视自然就很有必要了. 一. 磁盘可用空间 1. 操作系统命令或脚本.接口或工具 ...

  4. sql server数据库状态监控

    sql server数据库监控 转自:https://www.cnblogs.com/seusoftware/category/500793.html   6. SQL Server数据库监控 - 如 ...

  5. SQL SERVER数据库状态(脱机,联机,可疑)及SQL设置语句详解

      首先我们应该知道数据库总是处于一个特定的状态中,下面先来了解一下数据库的常见的三种状态:1,脱机:我们可以在Microsoft SQL Server Management中看到该数据库,但该数据库 ...

  6. SQL Server 数据库状态选项

    选项 1. single_user(单用户),multi_user(多用户),restricted_user(受限用户); 描述数据库的用户访问属性,它们互斥,设置其中任何一个选项就会取消对其它选项的 ...

  7. SQL Server 数据库状态选项-用户使用

    选项 1. single_user(单用户),multi_user(多用户),restricted_user(受限用户); 描述数据库的用户访问属性,它们互斥,设置其中任何一个选项就会取消对其它选项的 ...

  8. SQL Server数据库状态和文件状态

    数据库状态 (database states) 查询数据库的当前状态 : 1.查询所有数据库的状态 ,通过sys.databases目录视图的state_desc列 user master go se ...

  9. .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

    今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...

随机推荐

  1. Java---23种设计模式(九)------组合模式

    一.什么是组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象. 组合模式依据树形结构来组合对象,用来表示部分以及整体层次. 这种类型的 ...

  2. 图的遍历---DFS

    类型一:邻接表 题目一:员工的重要性 题目描述 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id. 比如,员工1是员工2的领导,员工2是员工3的领导.他们相应的重要度 ...

  3. 【Shell编程】Shell程序设计

    1.Shell简介   作为Linux灵感来源的Unix系统最初是没有图形化界面的,所有的任务都是通过命令行来实现的.因此,Unix的命令行系统得到了很大的发展,逐步成为一个功能强大的系统.   Sh ...

  4. Git 基础教程 之 Git 安装 (windows)

    一,安装Git,访问下面网址进行下载 https://www.git-scm.com/download/ 或者 https://pan.baidu.com/s/19imFBVHA2Yibmw1dyza ...

  5. Visible Trees

    Visible Trees Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Pr ...

  6. 【ACM】hdu_3782_xxx定律_201308011521

    xxx定律Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  7. ExpressionTreeVisualizer

    看表达式的工具,这个工具后来微软不更新了,只支持到VS2013 表达式树的语法难度太大,语法和实现难度都大 相关文章 github地址

  8. redis--周边知识点

    一般Redis服务器内存超过128G内存的机器是非常少的 很少在redis中缓存视频,除非是快播,一般都是缓存文本字段 redis可视化的工具和SQL的管理工具是不一样的,最好是使用REDIS的she ...

  9. BA-WG-冷源

    冷源群控系统最好由冷源厂家来做的理由 1.冷机厂家对空调的参数十分的清楚,明确的知道冷机的负荷曲线,可以优化冷机加减载的最合理时间达到最佳的节能效果 2.独立的CSM硬件模块,内置不同冷机的型号特性, ...

  10. 多个线程运行结束之后主线程再执行CountDownLatch

    多个线程运行结束之后主线程再执行CountDownLatch 学习了:http://blog.csdn.net/lvyuanj/article/details/50737123  这个要膜拜一下! h ...