数据库备份策略
SQL Server 2005允许用户根据应用业务需求和用户硬件设备条件选择备份方式,在满足业务需求的条件下方便用户备份。本节将向读者介绍SQL Server 2005数据库备份的类型以及策略。
9.3.1 备份的类型
SQL Server 2005数据库提供了以下多种备份类型,如表9-2所示。其中,完整备份、差异备份、以及事务日志备份都是用户经常使用的备份方式。
表9-2 SQL Server 2005数据库的备份类型
备 份 类 型
描 述
完整
完整备份将备份整个数据库,包括事务日志部分(以便可以恢复整个备份)
事务日志
全部数据库变化都会记录在日志文件中
尾日志
事务日志的活动部分(如未提交的事务日志等)
差异
自从上次的全库备份以来的变化的部分
文件及文件组
指定的文件或者文件组
部分
主文件组,每一个读写文件组和任何指定的只读文件组
仅复制
数据库或者日志
1.完整备份一个数据库完整备份包括数据文件和部分事务日志。完整备份是在某一时间点做数据库的备份,这一备份作为数据库恢复时的基线。当执行数据库的完整备份时,SQL Server 2005将进行以下操作。
Ø 备份期间所发生的任何活动。
Ø 备份所有事务日志中未提交的事务。
SQL Server 2005使用备份过程中捕获的事务日志保证数据的一致性。已备份的数据库与备份完成时的数据库状态相匹配,截去全部未提交的事务。当数据库恢复时,未提交的事务被回滚。
2.事务日志备份事务日志备份记录所有数据库的变化,当进行完整数据库备份时一般也要备份事务日志。以下为使用事务日志备份的注意点。
Ø 如果没有执行一次完整数据库备份,不能进行事务日志的备份。
Ø 当使用简单恢复模式时,不能进行事务日志备份。
当用户备份事务日志时,SQL Server 2005系统将进行以下操作。
Ø 备份事务日志从上次成功备份事务日志到当前的事务日志结束。
Ø 截取事务日志到事务日志活动部分的开发,删除不活动部分的信息。
说明:事务日志的活动部分开始于最早打开事务的时间点,持续到事务日志的结束。
3.尾日志备份尾日志是事务日志的备份,它包括以前未进行过备份的日志部分,即为事务日志的活动部分。尾日志备份,并不截断日志。
4.差异备份用户在备份频繁修改的数据库时,当最小化备份时间时,应使用差异备份。执行差异备份时,SQL Server 2005将进行以下操作。
Ø 备份自从上次执行完整备份以来的数据库变化。
Ø 备份基础备份创建以来的变化内容。
Ø 备份在差异备份执行期间发生的任何活动和事务日志中所有未提交的事务。
5.文件及文件组备份对于非常庞大的数据库,有时执行完整备份并不可行,这时用户可以执行数据库的文件或文件组备份。当SQL Server 2005执行文件及文件组备份时,将进行以下操作。
Ø 当使用FILE或者FILEGROUP选择,可以备份指定的数据库文件。
Ø 允许用户备份指定的多个数据库文件。
注意:当用户执行文件及文件组备份时,必须使用逻辑文件或者文件组。必须执行事务日志备份,以确保备份文件各数据库的其他部分一致可用。一般情况下,使用文件和文件组备份,要求用户对备份体系的整体进行考虑。
6.部分备份部分备份和完整备份十分相似,部分备份并不包括所有的文件组。“部分备份”的内容包括所有的主文件组、每一个读写文件组、任意指定的只读文件组。只读数据库的部分备份只包括主文件组。对于部分备份,也可以使用部分差异备份。部分差异备份只记录部分备份完成后的文件组的变化。
7.仅复制备份仅复制备份,不影响整个备份序列。用户可以为全部的备份类型创建仅复制备份。仅复制备份不能用基础备份,也不影响现存的差异备份。
9.3.2 理解备份策略
备份策略是用户根据数据库运行的业务特点,制定的备份类型的组合。例如对一般的事务性数据库,使用“完整备份”加“差异备份”类型的组合,当然还要选择适当的“恢复模式”。下面提供了几种参考策略,主要包括“完全数据库备份策略”、“数据库和事务日志备份策略”、“差异备份策略”和“文件或文件组备份策略 ”。
1.完全数据库备份策略完全数据库备份策略是定期执行数据库的“完整备份”、备份数据只依赖于“备份完整”。例如,定期修改数据的小型数据库,每天下午进行数据的少量修改,可以在每天18:00进行数据库的完整备份。完全数据库备份策略适用于以下情况。
Ø 如果数据库数据量小,总的备份时间是可以接受的。
Ø 如果数据库数据仅有很少的变化或数据库是只读的。
注意:如果使用“完整恢复模式”的数据库选项,用户应该定期清除事务日志。如果用户实现了完全数据库备份策略,数据库被配置使用完整、大容量日志模式,事务日志会被填充。当事务日志变满时,SQL Server 2005可能阻止数据库活动,直到事务日志被清空。如果用户设置数据库恢复模式为简单模式,则这样的问题将会减少。
2.数据库和事务日志备份策略当数据库要求较严格的可恢复性,而由于时间和效率的原因,仅通过使用数据库的完整备份实现这样可恢复性并不可行时,可以考虑使用数据库加事务日志备份策略。即在数据库完整备份的基础上,增加事务日志备份,以记录全部数据库的活动。
当数据库实现数据库和事务日志备份策略时,用户应备份从最近的数据库完整备份开始,使用事务日志备份。数据库实现数据和事务日志备份策略一般用于经常进行修改操作的数据库上。
3.差异备份策略差异备份策略包括执行常规的数据库“完整备份”加“差异备份”,并且可以在完整备份和差异备份中间执行事务日志备份。恢复数据库的过程则为,首先恢复数据库的“完整备份”,其次是最新一次的“差异备份”,最后执行最新一次“差异备份”以后的每一个“事务日志备份”。该策略在日常工作中被大量使用。差异备份策略一般用于以下备份需求的数据库。
Ø 数据库变化比较频繁。
Ø 备份数据库的时间尽可能短。
4.文件或文件组备份策略文件或文件组备份策略主要包含备份单个文件或文件组的操作。通常这类策略用于备份读写文件组。备份文件和文件组期间,通常要备份事务日志,以保证数据库的可用性。这种策略虽然灵活,但是管理起来比较复杂,SQL Server 2005不能自动地维护文件关系的完整性。使用文件或文件组策略通常在数据库非常庞大,完整备份耗时太长的情况下使用。
浙公网安备 33010602011771号