SQL Server 2000 数据库备份介绍
1.备份--恢复概述
在SQL Server 2000 中:
有四种备份类型,其分别为:
1. 数据库备份Database Backups
2. 事务日志备份Transaction Log Backup
3. 差异备份Differential Database Backups
4. 文件和文件组备份File and File Group Backup
有三种恢复模型,其分别为:
1. 简单
2. 完全
3. 大容量日志纪录
两种类型对应关系如下表:
恢复模型 | 备份类型 | |||
数据库 | 事务日志 | 差异备份 | 文件和文件组 | |
简单 | 必需 | 可选 | 不允许 | 不允许 |
完全 | 必需(或者文件备份) | 可选 | 必需 | 可选 |
大容量日志纪录 | 必需(或者文件备份) | 可选 | 必需 | 可选 |
2.备份介绍
2.1 数据库备份
2.1.1 简单介绍
数据库备份是指对数据库的完整备份,包括所有的数据以及数据库对象。实际上备份数据库过程就是首先将事务日志写到磁盘上,然后根据事务创建相同的数据库和数据库对象以及拷贝数据的过程。
在对数据库进行完全备份时,所有未完成的事务或者发生在备份过程中的事务都不会被备份。如果您使用数据库备份类型,则从开始备份到开始恢复这段时间内发生的任何针对数据库的修改将无法恢复。
在进行数据库备份时,如果您在备份完成之后又进行了事务日志备份,则在数据库备份过程中发生的事务将被备份。但若只进行数据库备份常将数据库选项trunc.log on chkpt 设置为true。这样每次在运行到检查点checkpoint 时都会将事务日志截断。
注意:如果对数据库一致性要求较高将数据库恢复到发生损坏的一刻则不应使用数据库备份。
2.1.2 使用场合
l 数据不是非常重要,尽管在备份之后恢复之前数据被修改,但这种修改是可以忍受的。
l 通过批处理或其它方法,在数据库恢复之后可以很容易地重新实现在数据损坏前发生的修改。
l 数据库变化的频率不大
2.2 事务日志备份
2.2.1 简单介绍
事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。一般情况下,事务日志备份比数据库备份使用的资源少。因此可以比数据库备份更经常地创建事务日志备份。经常备份将减少丢失数据的危险。
注意:事务日志备份有时比数据库备份大。例如,数据库的事务率很高,从而导致事务日志迅速增大。在这种情况下,应更经常地创建事务日志备份。
2.2.2 使用场合
l 不允许在最近一次数据库备份之后发生数据丢失或损坏现象。
l 存储备份文件的磁盘空间很小或者留给进行备份操作的时间有限。例如兆字节级的数据库需要很大的磁盘空间和备份时间
l 准备把数据库恢复到发生失败的前一点
l 数据库变化较为频繁
2.3 差异备份
2.3.1 简单介绍
差异数据库备份只记录自上次数据库备份后发生更改的数据。差异数据库备份比数据库备份小而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。使用差异数据库备份将数据库还原到差异数据库备份完成时的那一点。若要恢复到精确的故障点,必须使用事务日志备份。
注意:如果自上次完整数据库备份后创建了任何文件备份,则 Microsoft® SQL Server™ 2000 将在差异数据库备份开始时扫描这些文件。这可能导致差异数据库备份的性能有所降低。
2.3.2 使用场合
l 自上次数据库备份后数据库中只有相对较少的数据发生了更改。如果多次修改相同的数据,则差异数据库备份尤其有效。
l 使用的是简单恢复模型,希望进行更频繁的备份,但不希望进行频繁的完整数据库备份。
l 使用的是完全恢复模型或大容量日志记录恢复模型,希望需要最少的时间在还原数据库时前滚事务日志备份。
2.4文件和文件组
2.4.1 简单介绍
文件或文件组备份是指对数据库文件或文件夹进行备份,但其不像完整的数据库备份那样同时也进行事务日志备份。使用该备份方法可提高数据库恢复的速度,因为其仅对遭到破坏的文件或文件组进行恢复。
但是在使用文件或文件组进行恢复时,仍要求有一个自上次备份以来的事务日志备份来保证数据库的一致性。所以在进行完文件或文件组备份后,应再进行事务日志备份,否则备份在文件或文件组备份中所有数据库变化将无效。
如果需要恢复的数据库部分涉及到多个文件或文件组,则应把这些文件或文件组都进行恢复。例如:如果在创建表或索引时,表或索引是跨多个文件或文件组,则在事务日志备份结束后应再对表或索引有关的文件或文件组进行备份,否则在文件或文件组恢复时将会出错。