第13章数据备份与恢复 13-1备份和恢复概沁 13-2备份设备 13-3备份数据库 13-4恢复数据库 备份和恢复组件是 SQL Server的重要组成部分 备份和恢复是数据库管理员维护数据库安全性和完整性 的主要操作。本章主要介绍了备份基础、备份类型、恢 复模型和备份设备,并详述了备份数据库和恢复数据库 的具体方法
第13章 数据备份与恢复 13-1 备份和恢复概述 13-2 备份设备 13-3 备份数据库 13-4 恢复数据库 备份和恢复组件是SQL Server 的重要组成部分. 备份和恢复是数据库管理员维护数据库安全性和完整性 的主要操作。本章主要介绍了备份基础、备份类型、恢 复模型和备份设备,并详述了备份数据库和恢复数据库 的具体方法
13-1备份和恢复概迒 备份和恢复组件是 SQL Server的重要组成部分.备份和恢复是数据库管理员维护 数据库安全性和完整性的主要操作。本章主要介绍了备份基础、备份类型、恢复模型和 备份设备,并详泷了备份数据库和恢复数据库的具体方法。 13-1-1备份基础 SQL Server2000采统提供了内置的安全性和数据保护机制,以防止非法登录者或 授权用户对 SQL Server数据库或数据造成破坏,但对于合法用户的数据操作不当或 存储媒体受损及运行 SQL Server的服务岀现崩溃性岀错等因素,则需要通过数据库的 备份和恢复来应对该类问题。 备份和恢复组件是 SQL Server的重要组成部分,为存储在 SQL Server数据库中的关 键数据提供重要的保护手段。通过适当设置,可以从多种故障中恢复所备份的数据。弓 起系统故障与数据损失的因秦主要包括 存储介质故障。倘若保存有数据库文件的存储介质∶磁盘驱动器岀现彻底崩溃,而用 户又未會进行过数据库备份,则有可能导致数据的丢失 备份是对 SQL Server数据库或事务日志进行拷贝,数据库备份记录了在进行备份这 操作时,数据库中所有数据的状态,如果数据库因意外而受损,这些备份文件将在数据 库恢复时被用来恢复数据库。一般而霅, SQL Server2000支持在线备份(一边备份 边进行其它操作),但在备份过程中切勿执行以下操作 创建或删除数据库文件 2创建索引与执行非日志操作 3动或手工缩小数据库或数据库文件大小 4倫若系统准备进行备份与以上各种操作正在进行中,则备份处理将被终止;倫 若正在备份过程中,打算 执行以上任何操作,则操作将失败,而备份继续进行
备份和恢复组件是SQL Server 的重要组成部分. 备份和恢复是数据库管理员维护 数据库安全性和完整性的主要操作。本章主要介绍了备份基础、备份类型、恢复模型和 备份设备,并详述了备份数据库和恢复数据库的具体方法。 13-1-1 备份基础 SQL Server 2000 系统提供了内置的安全性和数据保护机制,以防止非法登录者或非 授权用户对SQL Server 数据库或数据造成破坏,但对于合法用户的数据操作不当或 存储媒体受损及运行SQL Server 的服务出现崩溃性出错等因素,则需要通过数据库的 备份和恢复来应对该类问题。 备份和恢复组件是SQL Server 的重要组成部分,为存储在 SQL Server 数据库中的关 键数据提供重要的保护手段。通过适当设置,可以从多种故障中恢复所备份的数据。引 起系统故障与数据损失的因素主要包括: 存储介质故障。倘若保存有数据库文件的存储介质:磁盘驱动器出现彻底崩溃,而用 户又未曾进行过数据库备份,则有可能导致数据的丢失。 备份是对SQL Server 数据库或事务日志进行拷贝,数据库备份记录了在进行备份这一 操作时,数据库中所有数据的状态,如果数据库因意外而受损,这些备份文件将在数据 库恢复时被用来恢复数据库。一般而言,SQL Server 2000支持在线备份(一边备份 一边进行其它操作),但在备份过程中切勿执行以下操作: 1 创建或删除数据库文件。 2 创建索引与执行非日志操作。 3 动或手工缩小数据库或数据库文件大小。 4 倘若系统准备进行备份与以上各种操作正在进行中,则备份处理将被终止;倘 若正在备份过程中,打算 执行以上任何操作,则操作将失败,而备份继续进行。 13-1 备份和恢复概述
13-1-2备份类型 在 SQL Server2000中有三种方法备份数据库中的数据,他们彼此间的联合使用可获取较 好的备份和效用,这些方法为完全数据库备份、差异数据库备份和事务日志备份 1.完全数据库备份 完全数据库备份是指对数据库的完整备份,包括所有的数据以及数据库对象。该备份方法 首先将事务日志写到磁盘上,然后创建相同的数据库和数据库对象及拷贝数据。由于是对 数据库的完全备份,因而这种备份类型不仅速度较慢,而且将占用大量磁盘空间。 在对数据库进行完全备份时,所有未完成的事务或者发生在备份过程中的事务都将被忽略, 若使用完全数据库备份类型,则从开始备份到开始恢复这段时间内发生的任何针对数据库 的修改将无法恢复,所以我们总是在一定的要求或条件下扌使用这种备份类型。 通常,在进行完全数据库备份时常将其安排在晚间或采统闲暇之时,因为此时整个数据库 采统几乎不进行其它事务操作,从而可以提高数据库备份的速度。 2.差异数据库备份 差异数据库备份只记录自上次数据库备份后发生更改的数据,即是指将最近一次数据库备 份以来发生的数据变化备份起来,因而差异备份实际上是一种增量数据库备份。与完整数 据库备份相比差异数据库备份由于备份的数据量较小所以备份和恢复所用的时间较短。因 此可以更经常地备份,经常备份将减少丢失数据的危险。使用差异数据库备份将数据库还 原到差异数据库备份完成时的那一点。若要恢复到精确的故障点,必须使用事务日志备份。 在下列情况下可考虑使用差异数据库备份 自上次数据库备份后数据库中只有相对较少的数据发生了更改。如果多次修改相同的数据, 则差异数据库备份尤其有效 使用的是简单恢复模型,希望进行更频檠的备份,但不希望进行频繁的完整数据库备份。 使用的是完全恢复模型或大容量日志记录恢复模型,希望需要最少的时间在还原数据库时 滚事务日志备份
在SQL Server 2000 中有三种方法备份数据库中的数据,他们彼此间的联合使用可获取较 好的备份和效用,这些方法为完全数据库备份、差异数据库备份和事务日志备份。 1.完全数据库备份 完全数据库备份是指对数据库的完整备份,包括所有的数据以及数据库对象。该备份方法 首先将事务日志写到磁盘上,然后创建相同的数据库和数据库对象及拷贝数据。由于是对 数据库的完全备份,因而这种备份类型不仅速度较慢,而且将占用大量磁盘空间。 在对数据库进行完全备份时,所有未完成的事务或者发生在备份过程中的事务都将被忽略, 若使用完全数据库备份类型,则从开始备份到开始恢复这段时间内发生的任何针对数据库 的修改将无法恢复,所以我们总是在一定的要求或条件下才使用这种备份类型。 通常,在进行完全数据库备份时常将其安排在晚间或系统闲暇之时,因为此时整个数据库 系统几乎不进行其它事务操作,从而可以提高数据库备份的速度。 2.差异数据库备份 差异数据库备份只记录自上次数据库备份后发生更改的数据,即是指将最近一次数据库备 份以来发生的数据变化备份起来,因而差异备份实际上是一种增量数据库备份。与完整数 据库备份相比差异数据库备份由于备份的数据量较小所以备份和恢复所用的时间较短。因 此可以更经常地备份,经常备份将减少丢失数据的危险。使用差异数据库备份将数据库还 原到差异数据库备份完成时的那一点。若要恢复到精确的故障点,必须使用事务日志备份。 在下列情况下可考虑使用差异数据库备份: 自上次数据库备份后数据库中只有相对较少的数据发生了更改。如果多次修改相同的数据, 则差异数据库备份尤其有效。 使用的是简单恢复模型,希望进行更频繁的备份,但不希望进行频繁的完整数据库备份。 使用的是完全恢复模型或大容量日志记录恢复模型,希望需要最少的时间在还原数据库时 滚事务日志备份。 13-1-2 备份类型
3.事务日志备份 事务日志是自上次备份事务日志后对数据库执行的所有事务的一采列记录。可以使用 事务日志备份将数据库恢复到特定的即时点或恢复到故障点。通常,事务日志备份比完全数 据库备份使用的资源少。因此可以比数据库备份更经常地创建事务日志备份。经常备份将减 少丢失数据的危险。 在以下情况下我们常选择事务日志备份 不允许在最近一次数据库备份之后发生数据丢失或损坏现象。 存储备份文件的磁盘空间很小或者留给进行备份操作的时间有限。 准备把数据库恢复到发生失败的前一点,数据库变化较为频繁 由于事务日志备份仅对数据库事务日志进行备份,所以其需要的磁盘空间和备份时间都比完 全数据库备份少得多 正是基于此优点人们在备份时常籴用这样的策略:即每天进行一次数据库备份而以一个或几 个小时的频率备份事务日志,这样利用事务日志备份就可以将数据库恢复到任意一个创建事 务日志备份的时刻。 注:事务日志备份容量有时比数据库备份大。例如,数据库的事务率很高,从而导 致事务日志迅速增大。在这种情况下,应更经常地创建事务日志备份。事务日志 备份只能与完全恢复模型和大容量日志记录恢复模型一起使用。 13-1-3恢复模型 恢复就是把遭受破坏或丢失数据或岀现错误的数据库,恢复到原来的正常状态。该状态的效 果是由备份决定的,但是为了维护数据库的一致性,在备份中未完成的事务并不进行恢复。 可以为 SQL Server2000中数据库恢复有三种恢复模型以供选择,进而确定如何备份数据 以及能承受何种程度的数据丢失。下面是可以选择的三种恢复模型:
3.事务日志备份 事务日志是自上次备份事务日志后对数据库执行的所有事务的一系列记录。可以使用 事务日志备份将数据库恢复到特定的即时点或恢复到故障点。通常,事务日志备份比完全数 据库备份使用的资源少。因此可以比数据库备份更经常地创建事务日志备份。经常备份将减 少丢失数据的危险。 在以下情况下我们常选择事务日志备份: 不允许在最近一次数据库备份之后发生数据丢失或损坏现象。 存储备份文件的磁盘空间很小或者留给进行备份操作的时间有限。 准备把数据库恢复到发生失败的前一点,数据库变化较为频繁。 由于事务日志备份仅对数据库事务日志进行备份,所以其需要的磁盘空间和备份时间都比完 全数据库备份少得多。 正是基于此优点人们在备份时常采用这样的策略:即每天进行一次数据库备份而以一个或几 个小时的频率备份事务日志,这样利用事务日志备份就可以将数据库恢复到任意一个创建事 务日志备份的时刻。 注:事务日志备份容量有时比数据库备份大。例如,数据库的事务率很高,从而导 致事务日志迅速增大。在这种情况下,应更经常地创建事务日志备份。事务日志 备份只能与完全恢复模型和大容量日志记录恢复模型一起使用。 13-1-3 恢复模型 恢复就是把遭受破坏或丢失数据或出现错误的数据库,恢复到原来的正常状态。该状态的效 果是由备份决定的,但是为了维护数据库的一致性,在备份中未完成的事务并不进行恢复。 可以为 SQL Server 2000 中数据库恢复有三种恢复模型以供选择,进而确定如何备份数据 以及能承受何种程度的数据丢失。下面是可以选择的三种恢复模型:
简单恢复模型 简单恢复允许将数据库恢复到最新的备份,可以将数据库恢复到上次备份的即时 点,但无法将数据库还原到故障点或特定的即时点。若要还原到这些点,则应选 择完全恢复或大容量日志记录恢复。简单恢复的备份策略包括完全数据库备你和 差异备份。 2.完全恢复模型 完全恢复允许将数据库恢复到故障点状态,可以使用数据库备份和事务日志备份 提供对媒体故障的完全防范。如果一个或多个数据文件损坏,则媒体恢复叮以还 原所有已提交的事务。正在进行的事务将回滚。完全恢复提供将数据库恢复到故 障点或特定即时点的能力。为保证这种恢复程度,包括大容量操作(如 SELECT INTO、 CREATE INDEⅩ和大容量装载数据)在内的所有操作都将完整地记入日 志 完全恢复的备份策略包括完全数据库备份、差异备份和事务日志备份。 3.大容量日志记录恢复模型 大容量日志记录恢复模型允许大容量日志记录操作,提供对媒体故障的防范,并 对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间。 这些大容量复制操作的数据丢失程度要比完全恢复模型严重。虽然在完全恢复模 型下记录大容量复制操作的完整日志,但在大容量日志记录恢复模型下,只记录 这些操作的最小日志,而且无法逐个控制这些操作。在大容量日志记录恢复模型 中,数据文件损坏可能导致必须手工重做工作 大容量日志记录恢复的备份策略包括完全数据库备份、差异备份和日志备份。 根据执行的操作,可以有多类适合的模型。麦13-1陈迒了三种恢复模型的比较
1. 简单恢复模型 简单恢复允许将数据库恢复到最新的备份,可以将数据库恢复到上次备份的即时 点,但无法将数据库还原到故障点或特定的即时点。若要还原到这些点,则应选 择完全恢复或大容量日志记录恢复。简单恢复的备份策略包括完全数据库备份和 差异备份。 2.完全恢复模型 完全恢复允许将数据库恢复到故障点状态,可以使用数据库备份和事务日志备份 提供对媒体故障的完全防范。如果一个或多个数据文件损坏,则媒体恢复可以还 原所有已提交的事务。正在进行的事务将回滚。完全恢复提供将数据库恢复到故 障点或特定即时点的能力。为保证这种恢复程度,包括大容量操作(如 SELECT INTO、CREATE INDEX 和大容量装载数据)在内的所有操作都将完整地记入日 志。 完全恢复的备份策略包括完全数据库备份、差异备份和事务日志备份。 3.大容量日志记录恢复模型 大容量日志记录恢复模型允许大容量日志记录操作,提供对媒体故障的防范,并 对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间。 这些大容量复制操作的数据丢失程度要比完全恢复模型严重。虽然在完全恢复模 型下记录大容量复制操作的完整日志,但在大容量日志记录恢复模型下,只记录 这些操作的最小日志,而且无法逐个控制这些操作。在大容量日志记录恢复模型 中,数据文件损坏可能导致必须手工重做工作。 大容量日志记录恢复的备份策略包括完全数据库备份、差异备份和日志备份。 根据执行的操作,可以有多类适合的模型。表13-1陈述了三种恢复模型的比较