Sql Servr数据库备份和恢复的原理.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sql Servr数据库备份和恢复的原理

Sql Server数据库备份和恢复原理 本文与您探讨为什么Sql Server有完整备份、差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式、完整模式和大容量日志模式这三种恢复模式。本文内容适用于2005以上所有版本的Sql Server数据库 。 单就操作过程而言,Sql Server中数据库备份和恢复过程是相当简单的,可以通过Management Studio的图形界面进行操作,也可以使用几句T-SQL语句完成。但要明白备份恢复的整个过程,定制符合系统需求数据库备份方案,却需要知晓数据库的 实现原理。备份和恢复是数据库的核心功能。 1 数据库原理 本节简要讨论了Sql Server数据库的存储的物理和逻辑结构,这是备份恢复过的理论基础。 1.1 为什么使用数据库 为什么要使用数据库,而不是使用一个文件,然后自己写一些方法来保存数据,那是因为使用数据库我们就不用自己去实现下面这些算法上非常复杂的功能: a.高效一致的结构化数据存取方法,进行复杂的任意条件组合嵌套的数据查询(关系数据库管理系统甚至为实现这一功能专门设计了一种语言:SQL) b.保障数据操作的原子性和完整性 c.确保在服务器断电、网络中断、服务器崩溃、客户端崩溃的情况下,故障恢复后数据仍然是完整的 d.在服务器被完全物理摧毁的情况下,快速在新的服务器上使用远程设备上的备份将数据恢复到灾难发生之前的状态 e.随时将数据恢复到任意时刻或任意一个操作之前 ... a 主要是功能和性能 bcde 四条都可以归结为完整性。 数据库系统的核心目标就是:在实现功能需求的基础上,保证数据完整性和数据存取性能。 1.2 Sql Server存储的物理结构和逻辑结构 1.2.1 如何实现完整性 经过很多理论研究和实践,目前公认的最有效的实现完整性的方法是:将数据的存储分为数据和事务日志,在存取过程中使用锁来控制并发访问。 数据是实时状态。 事务日志记录了数据发生变化的过程,对于数据库数据的任何一个改变,都被作为一条记录写在了事务日志文件中。 事务是指一组操作要么全部成功要么全部不执行。 任何数据更改操作在写入到数据文件中之前,必须先将更前后的数据写入事务日志文件中,这样当事务由于用户取消、数据逻辑错误或软硬件故障中断时能够正确的回滚或前滚到正确的状态。 通过锁控制多用户对同一数据的并发访问。 这是事务系统最基本的原理,大多数关系数据库系统和面向对象NoSQL数据库系统都采用这种方法。 Sql Server也不例外,每个Sql Server数据库由数据文件(*.mdf)和事务日志文件(*.ldf)构成。Sql Server包括了从行到表,从页面到文件的各种粒度的锁。 1.2.2 如何实现高性能 在计算机数据存取过程中,保障性能的算法最终都可以归结为:索引和缓存。从实现层面到应用层面,Sql Server都在建立管理各种索引和各种缓存。 对于需要随机存取的数据,分页是最自然的索引方法,同时能够方便的进行缓存,实现高效率的随机存取。我们所熟悉的操作系统内存管理系统、文件管理系统都采用了分页的方法。 在Sql Server中,对于数据文件mdf,主要是随机存取,因此mdf以分页的形式进行组织管理,每个页面8KB。还进一步将8个相邻的页组成一个扩展,方便管理,类似Windows中的簇。 mdf中保存着多种类型的数据,包括表数据、索引数据和大块数据等等。每个页面只保存一种数据。 表中的每一条记录都保存在一个表数据页中,记录不能跨页,因此任何表中记录的最大长度是略小于8KB(ntext之类的大块列只计算引用的大小)的一个数值,略小是因为每个页面需要一些空间来保存页面自身的信息(页头)和记录在页面中的存储位置。 在Sql Server中,对于事务日志文件ldf,主要是顺序存取。在正常运行时,数据库管理系统定期将日志顺序写入到ldf文件;在恢复时,顺序读取ldf文 件。因此,日志文件不需要分页,只要由一条条顺序存储的事务日志记录构成即可。日志记录也有缓存,定期写入到ldf文件。 尽管数据库系统是一个允许并发访问的系统,但是对事务日志的写入是串行化的,不可以并发,任何一个原子操作对应的事务日志记录在事务日志文件中都有其唯一的位置,也就是唯一的事务日志记录编号,这个编号是一直增大的,不会重复,越新的记录编号越大,存储位置也越靠后。 以上内容总结自Sql Server的产品文档Sql Server Books Online,如有兴趣可以在里面了解更详细的内容。这些就是备份和恢复的基础原理。 2 数据库备份的实现 如前所述,数据文件mdf保存了数据的实时状态,事务日志文件ldf记录了数据库中数据变化的过程。这个时候,我们要对数据库进行备份,自然而然就有两个选择: 因为mdf文件中保存了数据

文档评论(0)

fpiaovxingl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档