SQL Server 2005数据库的备份类型与策略

2013-08-15 00:54闵祖国
科技视界 2013年10期
关键词:事务日志备份

闵祖国

(1.长江大学,湖北 荆州434020;2.武汉职业技术学院 轻工学院,湖北 武汉430074)

0 引言

在企业的后台数据库中存储了大量重要的数据信息,但是由于计算机系统中存在不可避免的硬件和软件故障、病毒以及用户的一些误操作等,数据库系统中的数据存在被破坏或丢失的可能。为企业数据库制定合理的备份方案,构建可靠的备份体系,能够使数据库在遭受到破坏时,用户能利用数据库的备份文件将数据库恢复到原来的正常状态。因此,利用数据库的备份和还原功能来对数据库进行保护是一项非常重要的工作,本文对SQL Server 2005数据库的备份类型和策略进行了分析和研究。

1 数据库备份概述

数据库备份是指从数据库或者其事务日志中将数据文件或日志记录复制到备份设备,以创建数据备份或日志备份,用于在数据库发生故障时对数据库进行还原或恢复数据的数据副本。

2 SQL Server 2005的备份类型

2.1 完整备份

备份整个数据库的内容,包括用户表、视图、索引、存储过程、系统表、事务等所有数据库对象,由于这种数据库备份类型要对数据库进行完全备份,因此备份所需要花费的时间较长,备份文件所占用的存储空间也较大,对企业应用系统的业务影响较大,但是其操作简单,而且完整备份是还原数据库的基础 ,在还原事务日志备份和差异备份时都依赖完整备份。

2.2 差异备份

也称为增量备份,只备份最近一次完整数据库备份以后被修改的那部分数据,其备份的数据量较少,所占用的存储空间少,备份需要的时间短,当数据库中的数据更新较频繁的时候,应该对其进行差异备份,而且提高差异备份的频率可以将数据库丢失数据的风险较低,一般推荐每天做一次差异备份,同时必须保证在执行差异备份之前,至少完成过一次完整备份。

2.3 事务日志备份

对数据库的事务日志文件的内容进行备份,因为事务日志记录的是自上一次数据库备份之后用户对数据库所做的更新操作,所以事务日志备份需要的时间短、备份文件占用的空间少,而且之前必须至少有过一次完整备份。另外,利用事务日志文件对数据库进行恢复时需要按照一定的顺序重新执行事务日志中记录的所有更新操作,其恢复所需要的时间较长。对更新操作比较频繁、备份操作的时间有限或者重要数据,推荐每小时执行一次事务日志备份,根据数据的重要程度调整备份频率。

为了最大限度地减少数据库中数据的损失和还原数据库所需要的时间,在实际应用中,一般会将数据库的完整备份、差异备份、事务日志备份一起使用,比如每周的周三和周日进行数据库的完整备份,每天的零点和12点进行差异备份,在相邻的两次差异备份之间每半个小时执行一次事务日志备份,在对数据库进行恢复时,首先还原最近一次的数据库完整备份,然后还原最近一次的差异备份,接着按照顺序依次还原自最近一次差异备份以来所以的事务日志备份文件。

2.4 文件或文件组备份

对数据库的文件或文件组进行备份,如果用户数据库非常庞大,数据库的内容被分散保存在多个文件或文件组中,或者对数据库进行完整备份受到时间和存储空间上的限制时,可以使用文件或文件组备份方式来备份数据库中的部分文件或文件组,另外,如果被损毁的只是数据库中的某个文件或文件组中的数据,则只需要对被损毁的文件或者文件组备份进行还原即可。

3 数据库备份策略

数据库在何时被破坏或者遭受到何种程度的破坏都是不可预知的,因此备份数据库是一项非常重要的管理工作。备份数据必须要根据特定的应用环境进行,在充分考虑特定业务要求的同时,尽可能地提高数据的可用性并最大限度地减少数据的丢失,因此在制定备份策略时需要重点考虑以下几个方面的内容。

3.1 备份内容

数据库中数据的重要程度决定了数据是否需要备份以及如何备份。QL Server 2005的系统数据库master中记录了用户账户、系统配置等系统级信息,msdb中记录了Agent服务的信息,model提供了数据库的模版信息,这些系统数据库需要完全备份,而tempdb存储的是临时数据,则不需要备份。QL Server 2005的用户数据库存储的用户数据,其中不重要的数据很容易从其他来源进行重建,可以不备份,而重要数据则需要进行完善的备份,像银行的业务数据库里边其绝大部分数据都是非常重要的,一定要采取合理的备份策略进行妥善的备份。

3.2 备份介质

备份介质是指用来存储备份数据的物理设备,常用的有磁盘、磁带和命名管道。硬盘空间不断增加,价格逐步下降,是个不错的选择;磁带成本低廉,但不支持远程备份;命名管道备份设备为第三方备份软件和设备的使用提供了一种逻辑通道。

3.3 备份时机

SQL Server 2005数据库的备份工作既可以手工完成,也可以通过SQL Server Agent在设定的任何时候自动执行备份计划。数据库备份可以按照一定的周期定期进行,也可以不定期的进行。不定期的数据库备份一般是在数据库发生某些改变后进行的如:当master、model和msdb系统数据库被修改或者创建、修改、删除用户数据库等情况时,应备份数据库。另外,数据库的备份工作尽量选择在系统运行的低峰时段进行。

3.4 备份频率

虽然数据库的备份工作越精细越能够保障数据库的安全,但是备份是特别耗费时间和系统资源的,不能频繁进行。应该根据数据的重要程度、数据库恢复的工作量以及应用系统执行的业务量等情况综合考虑确定一个最佳的备份周期。对于系统环境为联机事务处理的数据库、数据较重要或者丢失了很难重新得到的数据库以及数据更新频繁的数据库,其备份的频率应该较高。另外,不同的数据库备份方法,其备份频率也不同,一般完整备份的频率应该低些,差异备份和事务日志备份的频率要高些。

3.5 性能影响

备份数据库会影响系统性能,因尽量想办法把其影响降至最低,比如使用多个数据库备份设备同时进行备份,选择磁盘而不是磁带作为备份设备,在备份数据库时减少系统的并非活动等方式可以减少数据库备份所需要的时间,综合使用完整备份、差异备份和事务日志备份各取所长减少每次备份的数据量等。

4 总结

数据库的备份是一项周期性的长期工作,其在保障数据库系统的安全性和可靠性方面发挥了重要的作用,SQL Server 2005提供了完整备份、差异备份、事务日志备份、文件或文件组备份四中备份类型,各有优缺点,而实现数据库安全有效的备份,关键在于如何正确的选择备份策略,一个完善的数据库备份方案需要考虑将数据的损失降至最低,尽量减少其对业务处理的影响,能够兼顾备份设备的投入等。但是结合企业的实际应用环境,制定最合理的备份方案——以最小的代价恢复数据库,这一目标的实现仍需在实践中不断累积经验。

[1]詹英.基于SQL Server的数据库备份恢复策略[J].计算机时代,2007(12):23-24.

[2]何亮.基于SQL Server的教据库备份与还原[J].信息与电脑,2010(8):100.

猜你喜欢
事务日志备份
基于分布式事务的门架数据处理系统设计与实现
一名老党员的工作日志
扶贫日志
河湖事务
创建vSphere 备份任务
游学日志
旧瓶装新酒天宫二号从备份变实验室
一种基于粗集和SVM的Web日志挖掘模型
出版原图数据库迁移与备份恢复
SQLServer自治事务实现方案探析