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

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

ID:51694315

大小:52.45 KB

页数:5页

时间:2020-03-15

SqlServer数据库备份和恢复的原理.doc_第1页
SqlServer数据库备份和恢复的原理.doc_第2页
SqlServer数据库备份和恢复的原理.doc_第3页
SqlServer数据库备份和恢复的原理.doc_第4页
SqlServer数据库备份和恢复的原理.doc_第5页
资源描述:

《SqlServer数据库备份和恢复的原理.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SqlServer数据库备份和恢复的原理本文与您探讨为什么SqlServer有完整备份、差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式、完整模式和大容量日志模式这三种恢复模式。本文内容适用于2005以上所有版本的SqlServer数据库。单就操作过程而言,SqlServer中数据库备份和恢复过程是相当简单的,可以通过ManagementStudio的图形界面进行操作,也可以使用几句T-SQL语句完成。但要明白备份恢复的整个过程,定制符合系统需求数据库备份方案,却需要知晓数据库的实现原理。备份和恢复是数据库的核心功能。1数据库原理本节简要讨论了SqlServer数据库的存储

2、的物理和逻辑结构,这是备份恢复过的理论基础。1.1为什么使用数据库为什么要使用数据库,而不是使用一个文件,然后自己写一些方法来保存数据,那是因为使用数据库我们就不用自己去实现下面这些算法上非常复杂的功能:a.高效一致的结构化数据存取方法,进行复杂的任意条件组合嵌套的数据查询(关系数据库管理系统甚至为实现这一功能专门设计了一种语言:SQL)b.保障数据操作的原子性和完整性c.确保在服务器断电、网络中断、服务器崩溃、客户端崩溃的情况下,故障恢复后数据仍然是完整的d.在服务器被完全物理摧毁的情况下,快速在新的服务器上使用远程设备上的备份将数据恢复到灾难发生之前的状态e.随时将数据恢复到任意时刻或

3、任意一个操作之前...a主要是功能和性能bcde四条都可以归结为完整性。数据库系统的核心目标就是:在实现功能需求的基础上,保证数据完整性和数据存取性能。1.2SqlServer存储的物理结构和逻辑结构1.2.1如何实现完整性经过很多理论研究和实践,目前公认的最有效的实现完整性的方法是:将数据的存储分为数据和事务日志,在存取过程中使用锁来控制并发访问。数据是实时状态。事务日志记录了数据发生变化的过程,对于数据库数据的任何一个改变,都被作为一条记录写在了事务日志文件中。事务是指一组操作要么全部成功要么全部不执行。任何数据更改操作在写入到数据文件中之前,必须先将更前后的数据写入事务日志文件中,这

4、样当事务由于用户取消、数据逻辑错误或软硬件故障中断时能够正确的回滚或前滚到正确的状态。通过锁控制多用户对同一数据的并发访问。这是事务系统最基本的原理,大多数关系数据库系统和面向对象NoSQL数据库系统都采用这种方法。SqlServer也不例外,每个SqlServer数据库由数据文件(*.mdf)和事务日志文件(*.ldf)构成。SqlServer包括了从行到表,从页面到文件的各种粒度的锁。1.2.2如何实现高性能在计算机数据存取过程中,保障性能的算法最终都可以归结为:索引和缓存。从实现层面到应用层面,SqlServer都在建立管理各种索引和各种缓存。对于需要随机存取的数据,分页是最自然的索

5、引方法,同时能够方便的进行缓存,实现高效率的随机存取。我们所熟悉的操作系统内存管理系统、文件管理系统都采用了分页的方法。在SqlServer中,对于数据文件mdf,主要是随机存取,因此mdf以分页的形式进行组织管理,每个页面8KB。还进一步将8个相邻的页组成一个扩展,方便管理,类似Windows中的簇。mdf中保存着多种类型的数据,包括表数据、索引数据和大块数据等等。每个页面只保存一种数据。表中的每一条记录都保存在一个表数据页中,记录不能跨页,因此任何表中记录的最大长度是略小于8KB(ntext之类的大块列只计算引用的大小)的一个数值,略小是因为每个页面需要一些空间来保存页面自身的信息(页

6、头)和记录在页面中的存储位置。在SqlServer中,对于事务日志文件ldf,主要是顺序存取。在正常运行时,数据库管理系统定期将日志顺序写入到ldf文件;在恢复时,顺序读取ldf文件。因此,日志文件不需要分页,只要由一条条顺序存储的事务日志记录构成即可。日志记录也有缓存,定期写入到ldf文件。尽管数据库系统是一个允许并发访问的系统,但是对事务日志的写入是串行化的,不可以并发,任何一个原子操作对应的事务日志记录在事务日志文件中都有其唯一的位置,也就是唯一的事务日志记录编号,这个编号是一直增大的,不会重复,越新的记录编号越大,存储位置也越靠后。以上内容总结自SqlServer的产品文档SqlS

7、erverBooksOnline,如有兴趣可以在里面了解更详细的内容。这些就是备份和恢复的基础原理。2数据库备份的实现如前所述,数据文件mdf保存了数据的实时状态,事务日志文件ldf记录了数据库中数据变化的过程。这个时候,我们要对数据库进行备份,自然而然就有两个选择:因为mdf文件中保存了数据库中数据的实时状态,那么我们只要把mdf文件拷贝一份就实现了当前时刻的数据库备份。既然ldf文件中保存了数据库中数据变化的整个过程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。