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


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

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

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

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

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

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

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

l 事务日志空间损耗

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

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

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

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

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

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

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

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

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

Tags in this post...

面试题 相关文章推荐
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 面试题
struct与class的区别
Feb 03 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
在什么时候需要使用"常引用"
Dec 31 面试题
数据库面试要点基本概念
Oct 31 面试题
汇智创新科技发展有限公司
Dec 06 面试题
使用索引有什么好处
Jul 27 面试题
请解释接口的显式实现有什么意义
May 26 面试题
某公司部分笔试题
Nov 05 面试题
如何写一个Java类既可以用作applet也可以用作java应用
Jan 18 面试题
Unix如何在一行中运行多个命令
May 29 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
May 30 面试题
数据库面试要点基本概念
Oct 31 #面试题
如何在存储过程中使用Loop
Jan 05 #面试题
SQL Server笔试题
Jan 10 #面试题
Android面试题附答案
Dec 08 #面试题
Android面试题及答案
Sep 04 #面试题
android面试问题与答案
Dec 27 #面试题
Android笔试题总结
Nov 29 #面试题
You might like
PHP学习笔记之三 数据库基本操作
2011/01/17 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
JavaScript 原型与继承说明
2010/06/09 Javascript
JavaScript函数详解
2015/02/27 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
javascript self对象使用详解
2016/10/18 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
python数据结构之图的实现方法
2015/07/08 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
小学安全工作总结2015
2015/05/18 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
务工证明怎么写
2015/06/18 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
德生BCL3000抢先使用感受和评价
2022/04/07 无线电
Python绘制散乱的点构成的图的方法
2022/04/21 Python
小程序自定义轮播图圆点组件
2022/06/25 Javascript