SQL Server 数据库引擎怎样记录完整备份后修改过的数据
SQL Server 使用两个内部数据结构跟踪被大容量复制操作修改的区,以及自上次完整备份后修改的区。这些数据结构极大地加快了差异备份的速度。当数据库使用大容量日志恢复模式时,这些数据结构也可以加快将大容量复制操作记录至日志的速度。与全局分配图 (GAM) 和共享全局分配图 (SGAM) 页相同,这些结构也是位图,其中的每一位代表一个单独的区。
- 差异更改映射表 (DCM)
这样便可以跟踪自上次执行 BACKUP DATABASE 语句后更改过的区。如果扩展盘区的位是
1,则自上次执行 BACKUP DATABASE 语句后扩展盘区已被修改。如果位是 0,则扩展盘区没有被修改。差异备份只读取 DCM
页便可以确定已修改的区。这样大大减少了差异备份必须扫描的页数。运行差异备份所需的时间与自上次执行 BACKUP DATABASE
语句之后修改的区数成正比,而不是与整个数据库的大小成正比。 - 大容量更改映射表 (BCM)
跟踪自上次执行 BACKUP LOG 语句后,被大容量日志记录操作修改的区。如果某个扩展盘区的位是
1,表明自上次执行 BACKUP LOG 语句后,该扩展盘区已经被有日志记录的大容量复制操作修改。如果位是 0,则该扩展盘区未被有日志记录的大容量复制操作修改。尽管所有数据库中都显示 BCM 页,但只有在数据库使用大容量日志记录恢复模式时,才会与 BCM 页有关。在此恢复模式中,当执行 BACKUP
LOG 时,备份进程将扫描 BCM
查找已经修改的区。然后,将那些区包括在日志备份中。如果数据库从数据库备份和一系列事务日志备份恢复,便可以恢复大容量日志记录操作。在使用简单恢复模式的数据库中,BCM
页是不相关的,因为大容量日志记录操作不记入日志。在使用完整恢复模式的数据库中,BCM 页同样不相关,因为该恢复模式将大容量日志记录操作视为有完整日志记录的操作。
DCM 页和 BCM 页的间隔与 GAM 和 SGAM 页的间隔相同,都是 64,000 个区。在物理文件中,DCM 和 BCM 页位于 GAM 和
SGAM 页之后。

SQL Server 数据库引擎怎样记录完整备份后修改过的数据的更多相关文章
- 04Microsoft SQL Server 数据库创建,查看,使用,修改及删除
Microsoft SQL Server 数据库创建,查看,使用,修改及删除 创建数据库 创建普通数据库 USE [master] GO CREATE DATABASE [MyDataBase] -- ...
- 2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加
1.视图:只能查看,不能增删改不能有重复列 create view 名字as查询语句 2.事务:保证流程的完整执行 begin tran --开始事务监控 被监控的代码 ... ...if @@ERR ...
- SQL server数据库创建代码,filegroup文件组修改,
以下示例在 SQL Server 实例上创建了一个数据库.该数据库包括一个主数据文件.一个用户定义文件组和一个日志文件.主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件.ALTER DAT ...
- SQL Server 数据库查找重复记录的几种方法
http://www.hanyu123.cn/html/c61/6790.html 一.查某一列(或多列)的重复值.(只可以查出重复记录的值,不能查出整个记录的信息) 例如:查找stuid,stuna ...
- 备份和还原 Linux 上的 SQL Server 数据库
备份数据库 在下面的示例sqlcmd连接到本地 SQL Server 实例,并采用完整备份的名为的用户数据库demodb. sqlcmd -S localhost -U SA -Q "BAC ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- 《SQL Server企业级平台管理实践》读书笔记——关于SQL Server数据库的还原方式
本篇是继上篇的备份方式,本篇介绍的是还原方案,在SQL Server在2005以上现有的还原方案一般分为以下4个级别的数据还原: 1.数据库完整还原级别: 还原和恢复整个数据库.数据库在还原和恢复操作 ...
- 清空SQL Server数据库中所有表数据的方法
原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...
- Amazon RDS 上的 Microsoft SQL Server » 导入和导出 SQL Server 数据库
导入和导出 SQL Server 数据库 Amazon RDS 支持使用完整备份文件 (.bak 文件) 对 Microsoft SQL Server 数据库进行本机备份和还原.您可以在单个便携式文件 ...
随机推荐
- .net 系列:事件和委托
在.net 的世界里,离不开委托和事件,其实理解透了后很简单,总结了一下分为5步: 1)定义委托 public delegate void RevicedEventHandler(object ...
- 《java.util.concurrent 包源码阅读》27 Phaser 第一部分
Phaser是JDK7新添加的线程同步辅助类,作用同CyclicBarrier,CountDownLatch类似,但是使用起来更加灵活: 1. Parties是动态的. 2. Phaser支持树状结构 ...
- 罗培羽—C语言简单游戏编程教学
编写许多软件都需要有菜单,那么如果我们使用tc之类的软件来编译程序的话,我们该怎么编写菜单呢?让我们一起来试试吧!第一步:简单例子 我们先来写个最简单的例子:#include<std ...
- BST 解析 (二)height and deletion
前面一章介绍了BST的结构和一些简单的基本功能,例如:insert,findMin,nextLarger等等.这一节主要讲解一些BST的delete node操作还有BST的height的分析以及一些 ...
- javaScript基础概念小知识点集
数据类型 typeof是一个操作符而不是函数,因此例子中圆括号尽管可以使用,但不是必须的. 只要在保存对象的变量还没有真正保存对象,就应该明确的让该变量保存null NaN是一个特殊的数值,与任何值都 ...
- td-agent 收集日志到kafka的配置
<source> @type tail path /data1/td-agent/wechat-tag*.log tag wechat-tag read_from_head true fo ...
- 【转】使用nvm快速搭建 Node.js 开发环境
原文链接:http://www.cnblogs.com/shuoer/p/7802891.html 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本 ...
- Serverless无服务应用架构纵横谈
Serverless无服务应用架构纵横谈 一.Serverless是啥 自从互联网兴起以来,Server就成了网络的核心部件.所以围绕Server的生意圈,也发展得如火如荼. 从最早的电信托管,到虚拟 ...
- win10下Python3.6安装、配置以及pip安装包教程
0.目录 1.前言 2.安装python 3.使用pip下载.安装包 3.1 安装Scrapy 3.2 安装PyQt 3.3 同时安装多个包 3.4 pip的常用命令 1.前言 之前在电脑上安装了py ...
- ElasticSearch 学习记录之集群分片内部原理
分片内部原理 分片是如何工作的 为什么ES搜索是近实时性的 为什么CRUD 操作也是实时性 ES 是怎么保证更新被持久化时断电也不丢失数据 为什么删除文档不会立即释放空间 refresh, flush ...