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


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

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

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

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

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

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

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

l 事务日志空间损耗

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

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

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

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

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

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

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

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

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

Tags in this post...

面试题 相关文章推荐
局部内部类是否可以访问非final变量?
Apr 20 面试题
将"引用"作为函数参数有哪些特点
Apr 05 面试题
Android面试题及答案
Sep 04 面试题
ORACLE第二个十问
Dec 14 面试题
什么是.net
Aug 03 面试题
新大陆软件面试题
Nov 24 面试题
WINDOWS域的具体实现方式是什么
Feb 20 面试题
什么是反射
Mar 17 面试题
如何利用cmp命令比较文件
Sep 23 面试题
what is the difference between ext2 and ext3
Nov 03 面试题
sort命令的作用和用法
Aug 25 面试题
中软国际Java程序员机试题
Aug 19 面试题
数据库面试要点基本概念
Oct 31 #面试题
如何在存储过程中使用Loop
Jan 05 #面试题
SQL Server笔试题
Jan 10 #面试题
Android面试题附答案
Dec 08 #面试题
Android面试题及答案
Sep 04 #面试题
android面试问题与答案
Dec 27 #面试题
Android笔试题总结
Nov 29 #面试题
You might like
解决GD中文乱码问题
2007/02/14 PHP
相对路径转化成绝对路径
2007/04/10 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
用python实现刷点击率的示例代码
2019/02/21 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
高二地理教学反思
2014/01/24 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript