SQL SERVER数据库 三种 恢复模式
SQL SERVER 2005 以后三种恢复模式: 简单(Sample),完全(Full),大批量(Bulk_Logged)
完全备份模型
完全备份模式是指在出现数据文件毁坏时丢失数据的风险最小。如果一个数据库在此模式下是,所有操作都会被完全记录下来,这意味着记录使用INSERT操作增加的每一行,使用DELETE操作删除的每一行和使用UPDATE操作修改的每一行,SQL server还会将使用BCP和BULK insert 操作插入的每一行完全被记录到事物日志中。如果遇到一个数据库备份之后一直在做着定期事务日志备份,那么我们就可以将数据库恢复到最后的日志备份之前任何一个时间点的状态。另外,如果在数据文件出故障之后有日志文件可用,那么我们可以将DB恢复到故障前已提交的最后一个日志的状态。SQL SERVER2005以后也支持一个成为日志标识(LOG MARKS)的特性,这允许我们在事务日志中放置一些参照点。如果数据是在完全恢复模式下,我们可以选择恢复某个日志标志时的状态。
在完全恢复模式下,SQL SERVER 也会完全记录CREATE INDDEX 操作,当从包含创建索引的事务日志备份中恢复时,由于索引不必重建,恢复操作会进行的非常迅速---所有的索引页都已经作为数据库备份的一部分被获取。在SQL SERVER 2000之前sql server只记录一个所有已经被创建的事实,这样一来当我们从日志文件备份中恢复时,整个索引将会不得不重新建立。
看起来完全恢复模式是最好的,但是这是要付出其他的代价的。其中最大的待机就是事务日志会相当的大。
大批量恢复模型(BULK Logged)
大批量恢复模式允许我们在出现介质故障时完全地还原数据库,它还能够对某些大批量操作提供最佳的性能和最小的日志使用空间。这些大批量操作包含 BULK INSERT, BCP, CREATE INDEX, SELECT INTO, WRITETEXT 和UPdatetext。对完全恢复模式,这些操作是完全被记录的,但是对大批量恢复模式,对它们的记录是最小量的。
当执行大批量操作中的某一种操作时,SQL SERVER 只会记录该操作曾经发生过和关于该操作分配空间的信息。但是因为SQL SERVER跟踪了该大批量操作实际上修改了那些区,所以该操作还是可以完全恢复的。在数据库中的每一个数据我那件都至少有一个成为大批量更改地图(BULK CHANGE MPA, BCM)的页面,SQL SERVER对该页面的管理类似 GAM SGAM的管理。
因为能够最小量的记录大批量的操作,所以这些操作能够比在完全备份模式时执行的要快的很多。在正确的BCM页面设置各个标志位需要一些开销,但是与记录每一个对数据和索引的单独更改相比,翻转这些位的开销要小的多。
如果数据库在bulk logged模式下并且没有实际执行任何大批量操作,以为该日志将会包含数据库所有改变的完整顺序记录,所以我们能够将数据库还原到任一个时间点或者命名日志标识。
在备份日志期间会有些开销,除了将事务日志的内容复制到备份介质,SQL SERVER会扫描BCM页面并在备份事务日志的同时备份所以修改过的区。日志文件自身会保持很小,但是该日志的备份可能会比日志文件大上很多倍,所以日志备份需要更多的时间并且可能会比FULL模式消耗更多的空间。还原一个在大批量模式所做的日志备份所消耗的时间与还原一个在FULL模式下所做的日志备份用的时间基本相同。还原过程不需要重做各个操作,恢复所有数据和索引结构所需要的信息都包含在日志备份中。
简单恢复模型(Sample)
简单恢复模型(Sample)
简单恢复模型提供了最简单的备份----恢复策略。每当有检查点发生时(检查点会定时地,经常地发生),事务日志都会被阶段。因此,所能进行备份的备份类型就是那些不需要日志备份的类型。这些类型的备份有完全备份数据库备份,增量备份,部分完全备份,部分增量备份和针对只读文件组的文件组备份。在简单恢复模式下如果试图进行日志备份,那么会收到错误信息,因为该模式的备份不需要日志的,一旦它所包含的所有事务被提交或者回滚,该日志的各部分就能够被重新利用,并且服务器或者事物出现故障时恢复也不需要这些事物信息。事实上,一旦数据库改变到简单模式下,日志就会被截断。
需要注意:简单模式不是不记录日志。所谓的“简单”是我们的备份策略不需要担心日志备份,虽然单个的日志记录并不如在完全备份模式下的,但是在简单模式下是的所有操作都会被记录。因为在大批量恢复模式中谈论的大批量操作在这里也会以最小量记录,所以简单模式下一个数据库的日志可能没有完全模式下的日志增长那么快那么多。这并不是说在简单模式下我们就不用关系日志文件的大小。就像在任何恢复模式中一样,活动食物的日志记录无法被截断并且在最老的活动食物之后开始的所有事物的日志记录都不能被截断。所以,如果有大型或者长时间的事务,仍然会需要大量日志空间。
SQL SERVER数据库 三种 恢复模式的更多相关文章
- SQL SERVER数据库三种数据插入方式
数据插入:INSERT INTO A(CBM,CMC) VALUES('1','测试')--单条数据插入INSERT INTO A(CBM,CMC)SELECT '1','测试'--单条数据插入INS ...
- Sql Server数据库备份和恢复:原理篇
本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...
- sqlserver 三种恢复模式
sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何使用事务日志,如何选择它要记录的操作,以及是否截断日志.截断事务日志是删除己执行事务并把该日 ...
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式(转载)
SQL Server数据库有三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式: 1.Simple 简单恢复模式, Simple模式的旧称叫”Checkpoint with truncate ...
- 转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了
简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确 ...
- Sqlserver CheckPoint 在三种恢复模式中的不同表现
准备: 日志截断在下列情况下发生: 1.执行完 BACKUP LOG 语句时.2.在每次处理检查点时(如果数据库使用的是简单恢复模式).这包括 CHECKPOINT 语句所产生的显式检查点和系统生成的 ...
- SQL Server的三种物理连接之Loop Join(一)
Sql Server有三种物理连接Loop Join,Merge Join,Hash Join, 当表之间连接的时候会选择其中之一,不同的连接产生的性能不同,理解这三种物理连接对性能调优有很大帮助. ...
- Sql Server中三种字符串合并方法的性能比较
文章来自:博客园-DotNet菜园 最近正在处理一个合并字符吕的存储过程,在一个测试系统的开发中,要使用到字符串合并功能,直接在Sql中做.示例:有表內容﹕名称 內容1 abc1 ...
- SQL Server的三种物理连接之Hash Join(三)
简介 在 SQL Server 2012 在一些特殊的例子下会看到下面的图标: Hash Join分为两个阶段,分别为生成和探测阶段. 首先是生成阶段,将输入源中的每一个条目经过散列函数的计算都放到不 ...
随机推荐
- PCL — Point Pair Feature 中层次点云处理
博客转载自:http://www.cnblogs.com/ironstark/p/5971976.html 机器人视觉中有一项重要人物就是从场景中提取物体的位置,姿态.图像处理算法借助Deep Lea ...
- GCD学习(七) dispatch_apply
dispathc_apply 是dispatch_sync 和dispatch_group的关联API.它以指定的次数将指定的Block加入到指定的队列中.并等待队列中操作全部完成. NSArray ...
- Jsp入门第二天
1. JSP 指令: JSP指令(directive)是为JSP引擎而设计的. 它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的其余部分. 2. 在目前的JSP 2.0中,定义了p ...
- 对Spark的理解
Spark作为一个新的分布式计算引擎正慢慢流行起来,越来越来的企业也准备用它的替换MapReduce,根据自己在工作的一些体会谈谈的优势. 分布式计算归根到底还是一个Map和Reduce操作,Map操 ...
- MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...
- 软件测试就业必备知识点&自学软件测试-Dotest-2019
软件测试就业必备知识点&自学测试&教学大纲-Dotest-2019
- CSS选择器及CSS样式表
前言 牛腩新闻发布系统中记忆最深的就是各种CSS选择器各种CSS样式,这些选择器之间肯定有它的优先级,包括CSS样式也一样,也是有它的优先级,本文介绍一些各种CSS选择器各种CSS样式以及它们的优先级 ...
- Linux 下的 etc
/etc etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linu ...
- THINKPHP 框架的模板技术
//echo C('name'); App/Action/IndexAction.class.php文件夹下的 URL模式 //输出URL模式//echo C('URL_MODEL'),'<br ...
- 区块链中的密码学(四)- Merkle树和SPV节点
什么是Merkle Tree? Merkle Tree 的命名来自于美国密码学家Ralph C. Merkle ,关于他的个人资料:传送门https://en.wikipedia.org/wiki/R ...