For each database that you create in SQL Server, with the exception of the system databases, you can configure it to use one of three possible recovery models (simple, full, bulk-logged).  Here is a simple script to display the recovery models of all on-line databases:

在数据库中创建的每个数据库,除了系统数据之外,你都能配置三种恢复模式(简单、完全、大量日志)中的一个。如下是显示在线数据库的恢复模式:

SELECT name, (SELECT DATABASEPROPERTYEX(name, 'RECOVERY')) RecoveryModel FROM master..sysdatabases ORDER BY name

If you are running SQL Server 2005 or later, you can use this script instead:

如果你运行在SQL Server 2005或者更高的版本上,你可以使用如下脚本代替:

SELECT name, recovery_model_desc FROM master.sys.databases ORDER BY name

This is how you can change a database's recovery model to the simple recovery model:

如下是教你改变数据库的恢复模式成简单恢复模式:

ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE

to the full recovery model:

改成完全恢复模式:

ALTER DATABASE AdventureWorks SET RECOVERY FULL

and to the bulk-logged recovery model:

改成大日志恢复模式:

ALTER DATABASE AdventureWorks SET RECOVERY BULK_LOGGED

Which recovery model do you need to use?  It depends on how much data you can afford to lose.  Let's use the following diagram to illustrate the difference between the recovery models, where a full database backup is performed at 9:00 a.m, and 11 a.m.

你要使用哪种恢复模式?那是取决于你能承担的起丢失多少数据。让我们用下面的图来解释恢复模式之前的区别,下面这张图是一个数据库在9:00am 和11:00am完成的完全备份。

The simple recovery model(简单恢复模式)

Assume that there was a hardware failure at 10:45  a.m.  If the database was using the simple recovery model, you would have lost 105 minutes of work.  The latest point at which you can recover the database to is 9:00 a.m, since that was the time the last full backup that was made.  You could schedule differential backups to run periodically e.g.

假设硬件在 10:45am坏了。如果数据库采用的是简单恢复模式,你将丢失105分钟的数据。你最近的恢复时间点是你在9:00am做的完全备份。你可以规划差异备份定期进行。例如:

In this case, you would lose 45 minutes of work.  Now, assuming that a user deleted a critical table at 9:50 a.m.  Can you recover to the point in time just before the deletion?  No.  The differential backup contains only the changed data pages.  It cannot be used to restore to a specific point in time.  You'll have to restore the database to its 9 a.m state, and redo 49 minutes of work.  Then, you'll also need to redo the work that was performed after the deletion up to the time the error was discovered.

在这种情况下,你将丢失45分钟的数据。现在,我们假设用户在9:50删除了主要的表。你能恢复到删除的那个时间点前数据吗?不能。差异备份只包含了数据的变化页,他不能用于去恢复特定时间点的数据。你将不得不去将数据库恢复到9:00am,然后重做49分钟的工作。此刻,你也必须去完成删除数据时间之后到发现错误之间的工作。

The full recovery model(完全恢复模式)

If no transaction log backups are made between 9 a.m and 11 a.m, you would face the same situation as you would if the database had been using the simple recovery model. In addition, your transaction log file would be much larger, as SQL Server will not truncate committed and checkpointed transactions until they have been backed up.

如果你没做事物日志备份在 9:00至11:00之前,你将面对的同样的情况就和你使用的简单恢复模式一样。另外,你的事务日志会非常大,因为SQL Server不会删除已经提交和已经CheckPoint的事务,直到它们被备份。

二:Recovery models(恢复模式)的更多相关文章

  1. 教你正确进入DFU及恢复模式 无敌重刷模式

    苹果分为两种恢复模式,一种叫做DFU模式,另一种是恢复模式.DFU的全称是Development FirmwareUpgrade,实际意思就是iPhone固件的强制升降级模式.而恢复模式则是屏幕上会显 ...

  2. 故障恢复和恢复模式(Crash Recovery & Recovery Models)

    数据库的恢复模型是否影响故障恢复,在简单恢复模式里,你是否会丢失事务?在今天的文章里我想谈下这点,详细讨论下. 恢复模式(Recovery Models) 对于这个问题的最简单的答案是不会:恢复模型不 ...

  3. Mac OS 10.12 - 在VMwear Workstation12.5.2中以两种方式进入恢复模式(Recovery)!!!

    注意:如果你打算安装Mac OS10.12 到虚拟机里面学习,那么我强烈建议你在没有安装任何其它软件之前,按照我这篇博客来进入恢复模式(Recovery),禁用Rootless机制!!!这样处理后,你 ...

  4. 在VMwear 11中的Mac OS X 10.11+ 进入恢复模式(Recovery HD)

    1,选中要启动的虚拟机,随后点击VM菜单的启动按钮后面向下箭头,随后点击菜单项”打开电源时进入固件“. 2,在虚拟机里面,用上下键移动到”Enter setup“上,随后继续下一步! 3,选中”Boo ...

  5. Android设备运用Clockworkmod Recovery恢复模式安装定制的Rom

    Clockworkmod Recovery是一个由Cyanogen团队开发的用于Android设备的第三方定制Recovery恢复模式,也称为CWM Recovery,具体它有什么用处呢?请看关于Go ...

  6. 关于Google Android平台的ClockworkMod Recovery恢复模式

    lockworkMod Recovery,它也被称为Clockwork与CWM,它是装载Google Android操作系统设备的一个自定义的Recovery恢复模式,它可以使得相关Android设备 ...

  7. 进入恢复模式(Recovery HD)

    进入恢复模式(Recovery HD) 1,选中要启动的虚拟机,随后点击VM菜单的启动按钮后面向下箭头,随后点击菜单项”打开电源时进入固件“. 2,在虚拟机里面,用上下键移动到”Enter setup ...

  8. 转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了

    简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确 ...

  9. sql server 备份与恢复系列三 简单恢复模式下的备份与还原

    一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原.在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重 ...

随机推荐

  1. cocos源码分析--LayerColor的绘制过程

    1开始,先创建一个LayerColor Scene *scene=Scene::create(); director->runWithScene(scene); //目标 auto layer ...

  2. C语言格式化%整理

    以输出为例: #include <stdio.h> main() { printf("**进制****************************************** ...

  3. Linux性能优化 第八章 实用工具:性能工具助手

    8.1性能工具助手 Linux有丰富的工具,这些工具组合来使用会更加强大.性能工具也一样,单独使用虽然也没有问题,但是和其他的工具组合起来就能显著提高有效性和易用性. 8.1.1 自动执行和记录命令 ...

  4. day9笔记整理,记忆

    函数的使用:一 定义函数的三种形式 1.1 无参函数 1.2 有参函数 1.3 空函数二 调用函数的三种形式 2.1 语句形式    def foo():   print('from foo')    ...

  5. vmware centos7 动态ip->静态

    TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_ ...

  6. centos7 图形化界面

    当你安装centos服务器版本的时候,系统默认是不会安装 CentOS 的图形界面程序的,比如:gnome或者kde, 那么如果你想在图形界面下工作的话,可以手动来安装CentOS Gnome GUI ...

  7. 【Jmeter自学】Linux环境下Jmeter运行

    ==================================================================================================== ...

  8. Java-1.6-并发包-集合

    List相关 对于List并发包就只扩展了一个CopyOnWriteArrayList<E> Set相关 对于Set,并发包扩展ConcurrentSkipListSet<E> ...

  9. 修改Tomcat的网页端口和指向路径

    网页端口是在 D:\web\apache-tomcat-6.0.32\conf 下的server.xml <Connector port="8080" protocol=&q ...

  10. centos6 安装 docker 问题

    参考:https://www.cnblogs.com/cs294639693/p/10164258.html 第一步:删除  参考:https://www.cnblogs.com/liuyanshen ...