SQL Server提供的3种恢复模型都是什么? 有什么区别?


Posted in 面试题 onMay 13, 2012
SQL Server提供了3种恢复模型,分别是:

l 简单恢复 ,允许将数据库恢复到最新的备份。

l 完全恢复,允许将数据库恢复到故障点状态。

l 大容量日志记录恢复,允许大容量日志记录操作。

这些模型中的每个都是针对不同的性能、磁盘和磁带空间以及保护数据丢失的需要。例如,当选择恢复模型时,必须考虑下列业务要求之间的权衡:

l 大规模操作的性能(如创建索引或大容量装载)。

l 数据丢失表现(如已提交的事务丢失)。

l 事务日志空间损耗

l 备份和恢复过程的简化。

根据正在执行的操作,可以有多个适合的模型。选择了恢复模型后,设计所需的备份和恢复过程。表6提供了三种恢复模型的优点和含义的概述。

表 6备份模型之间的比较
恢复模型 优点 工作损失表现 能否恢复到即时点?
简单 允许高性能大容量复制操作。

收回日志空间以使空间要求最小。
必须重做自最新的数据库或差异备份后所发生的更改。 可以恢复到任何备份的结尾处。随后必须重做更改。
完全 数据文件丢失或损坏不会导致工作损失。

可以恢复到任意即时点(例如,应用程序或用户错误之前)。
正常情况下没有。

如果日志损坏,则必须重做自最新的日志备份后所发生的更改。
可以恢复到任何即时点。
大容量日志记录的 允许高性能大容量复制操作。大容量操作使用最少的日志空间。 如果日志损坏,或者自最新的日志备份后发生了大容量操作,则必须重做自上次备份后所做的更改。否则不丢失任何工作。 可以恢复到任何备份的结尾处。随后必须重做更改。

简单恢复所需的管理最少。在简单恢复模型中,数据只能恢复到最新的完整数据库备份或差异备份的状态。不使用事务日志备份,而使用最小事务日志空间。一旦不再需要日志空间从服务器故障中恢复,日志空间便可重新使用。与完整模型或大容量日志记录模型相比,简单恢复模型更容易管理,但如果数据文件损坏,则数据损失表现会更高。

完全恢复和大容量日志记录恢复模型为数据提供了最大的保护性。这些模型依靠事务日志提供完全的可恢复性,并防止最大范围的故障情形所造成的工作损失。完全恢复模型提供最大的灵活性,可将数据库恢复到更早的即时点。

大容量日志记录模型为某些大规模操作(如创建索引或大容量复制)提供了更高的性能和更低的日志空间损耗。不过这将牺牲时点恢复的某些灵活性。很多数据库都要经历大容量装载或索引创建的阶段,因此可能希望在大容量日志记录模型和完全恢复模型之间进行切换。

Tags in this post...

面试题 相关文章推荐
如何启动时不需输入用户名与密码
May 09 面试题
什么是类的返射机制
Feb 06 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
Jul 30 面试题
怎样声明接口
Sep 19 面试题
面向对象编程是如何提高软件开发水平的
May 06 面试题
经典c++面试题四
May 14 面试题
介绍一下HTTP、HTTPS和SSL
Dec 16 面试题
恶意软件的定义
Nov 12 面试题
Shell如何接收变量输入
Sep 24 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
EJB面试题
Jul 28 面试题
介绍一下你对SOA的认识
Apr 24 面试题
数据库面试要点基本概念
Oct 31 #面试题
如何在存储过程中使用Loop
Jan 05 #面试题
SQL Server笔试题
Jan 10 #面试题
Android面试题附答案
Dec 08 #面试题
Android面试题及答案
Sep 04 #面试题
android面试问题与答案
Dec 27 #面试题
Android笔试题总结
Nov 29 #面试题
You might like
mysql5详细安装教程
2007/01/15 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
php开发文档 会员收费1期
2012/08/14 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
php输入流php://input使用浅析
2014/09/02 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python进行数据提取的方法总结
2016/08/22 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
《我的信念》教学反思
2014/02/15 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
2014年采购员工作总结
2014/11/18 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技