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 面试题
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
May 24 面试题
Web Service面试题:如何搭建Axis2的开发环境
Jun 20 面试题
关于Java String的一道面试题
Sep 29 面试题
Kingsoft金山公司C/C++笔试题
May 10 面试题
Ado与Ado.net的相同与不同
Dec 08 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
介绍一下Linux中的链接
May 28 面试题
软件测试工程师笔试题带答案
Mar 27 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
Mar 10 面试题
AJAX的优缺点都有什么
Aug 18 面试题
Shell脚本如何向终端输出信息
Apr 25 面试题
数据库面试要点基本概念
Oct 31 #面试题
如何在存储过程中使用Loop
Jan 05 #面试题
SQL Server笔试题
Jan 10 #面试题
Android面试题附答案
Dec 08 #面试题
Android面试题及答案
Sep 04 #面试题
android面试问题与答案
Dec 27 #面试题
Android笔试题总结
Nov 29 #面试题
You might like
MYSQL数据库初学者使用指南
2006/11/16 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
初识laravel5
2015/03/02 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
js中数组排序sort方法的原理分析
2014/11/20 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python随机数random模块使用指南
2016/09/09 Python
Python队列的定义与使用方法示例
2017/06/24 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
人事部主管岗位职责
2013/12/26 职场文书
综合实践教学反思
2014/01/31 职场文书
服装促销活动方案
2014/02/23 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
大学生简短的自我评价
2014/09/12 职场文书
个人总结与自我评价
2015/02/14 职场文书