第10章数据库的备份和恢复 ●10.1数据库备份概述 ●10.2备份类型 10.3鲁份策略 104备份设备 10.5鲁份 10.6还原
第10章 数据库的备份和恢复 10.1 数据库备份概述 10.2 备份类型 10.3 备份策略 10.4 备份设备 10.5 备份 10.6 还原
10.1数据库备份概述 随着信息时代和互联网技术的飞速发展,企业的信息数据 数 量急剧增长。而目前黑客攻击、病毒袭击已成家常便饭,硬件 据故障和人为的误操作也时有发生,一旦由此发生的数据损坏或 库丢失,造成的损失可能是巨大的,有的可能是灾难性的。 的 在数据库应用系统中,以下情况可能造成数据的丢失或系 份统的崩溃: 系统硬件(如存储子系统)故障; 复 数据库相关软件瘫痪; 黑客攻击或病毒袭击; 人为的误操作; 应用程序中某种不可预见的BUG。 §数据库备份是指定期或不定期地将数据库中的全部或部 分数据复制到安全的存储介质(磁盘、磁带等)上保存起来的 过程
10.1 数据库备份概述 随着信息时代和互联网技术的飞速发展,企业的信息数据 量急剧增长。而目前黑客攻击、病毒袭击已成家常便饭,硬件 故障和人为的误操作也时有发生,一旦由此发生的数据损坏或 丢失,造成的损失可能是巨大的,有的可能是灾难性的。 在数据库应用系统中,以下情况可能造成数据的丢失或系 统的崩溃: l 系统硬件(如存储子系统)故障; l 数据库相关软件瘫痪; l 黑客攻击或病毒袭击; l 人为的误操作; l 应用程序中某种不可预见的BUG。 § 数据库备份是指定期或不定期地将数据库中的全部或部 分数据复制到安全的存储介质(磁盘、磁带等)上保存起来的 过程。 第 10 章 数 据 库 的 备 份 和 恢 复
10.1数据库备份概述 第 10.1.1备份需求分析 个合理的数据库备份方案,应该能够在数据造 数成丢失时,可以有效地恢复重要数据,同时也要考虑 据 技术实现的难度和有效地利用资源 的 根据并分析掌握的信息,接下来应该对备份内容 备 备份频率、备份介质,使用何种备份类型及恢复模型 和等进行详细的规划。 10.1.2数据一致性检查 在备份数据库前,应检査数据库中数据的正确性 与一致性,这样才能保证备份后数据的正确及以后的 顺利恢复
10.1 数据库备份概述 10.1.1 备份需求分析 一个合理的数据库备份方案,应该能够在数据造 成丢失时,可以有效地恢复重要数据,同时也要考虑 技术实现的难度和有效地利用资源。 根据并分析掌握的信息,接下来应该对备份内容、 备份频率、备份介质,使用何种备份类型及恢复模型 等进行详细的规划。 10.1.2 数据一致性检查 在备份数据库前,应检查数据库中数据的正确性 与一致性,这样才能保证备份后数据的正确及以后的 顺利恢复。 第 10 章 数 据 库 的 备 份 和 恢 复
10.2备份类型 完整数据库备份 第 完整数据库备份是指对数据库进行完整备份,包括所有 章的数据以及数据库对象。由于是对数据库的完整备份,所以这 数种备份类型不仅速度慢,而且将占用大量的磁盘空间。,因此, 据在进行数据库备份时,一般常将其安排在凌晨,因为此时整个 库数据库系统几乎不进行其它事务操作,从而可以提高数据库备 的份的速度。 备 2.事务日志备份 事务日志备份是指对数据库发生的事务进行备份,包括 从上次进行事务日志备份、差异备份和完整数据库备份之后, 复 所有已经完成的事务,但事务日志备份前,至少应有一次完整 数据库备份。还原的时候,必须先还原完整数据库备份,再还 原差异备份(如果有的话),再按照事务日志备份的先后顺序 依次还原各次日志备份的内容;这种备份生成的备份文件最小 需要的时间也最短,对 SQL Server服务性能的影响也最小,适 宜于经常备份
10.2 备份类型 1.完整数据库备份 完整数据库备份是指对数据库进行完整备份,包括所有 的数据以及数据库对象。由于是对数据库的完整备份,所以这 种备份类型不仅速度慢,而且将占用大量的磁盘空间。因此, 在进行数据库备份时,一般常将其安排在凌晨,因为此时整个 数据库系统几乎不进行其它事务操作,从而可以提高数据库备 份的速度。 2.事务日志备份 事务日志备份是指对数据库发生的事务进行备份,包括 从上次进行事务日志备份、差异备份和完整数据库备份之后, 所有已经完成的事务,但事务日志备份前,至少应有一次完整 数据库备份。还原的时候,必须先还原完整数据库备份,再还 原差异备份(如果有的话),再按照事务日志备份的先后顺序, 依次还原各次日志备份的内容;这种备份生成的备份文件最小, 需要的时间也最短,对SQL Server服务性能的影响也最小,适 宜于经常备份。 第 10 章 数 据 库 的 备 份 和 恢 复
10.2备份类型 3.差异备份 第 差异备份是指将最近一次数据库完整备份以来对数据所 章做的修改进行备份,因此差异备份实际上是一种增量数据库备 数份。与完整数据库备份相比,差异备份由于备份的数据量较小 据所以备份和恢复所用的时间较短,可以经常进行差异备份。通 库过增加差异备份的备份次数,可以降低丢失数据的风险,将数 的据库恢复至进行最后一次差异备份完成时的那一点,但它无法 备像事务日志备份那样提供到时间点的无数据损失备份,它只允 许在实际所做的备份点上恢复 4.文件或文件组备份 复 文件或文件组备份只备份数据库中的个别文件或文件组 常常用于对重要数据的备份,它要求在数据库设计时,就做好 全面考虑,把需要单独做备份的表进行分组,给它们分配不同 的文件组(表只能放在文件组上,一个文件组可以是一个文件 或多个文件),这样才能在做备份的时候,单独备份这些数据
10.2 备份类型 3.差异备份 差异备份是指将最近一次数据库完整备份以来对数据所 做的修改进行备份,因此差异备份实际上是一种增量数据库备 份。与完整数据库备份相比,差异备份由于备份的数据量较小, 所以备份和恢复所用的时间较短,可以经常进行差异备份。通 过增加差异备份的备份次数,可以降低丢失数据的风险,将数 据库恢复至进行最后一次差异备份完成时的那一点,但它无法 像事务日志备份那样提供到时间点的无数据损失备份,它只允 许在实际所做的备份点上恢复。 4.文件或文件组备份 文件或文件组备份只备份数据库中的个别文件或文件组。 常常用于对重要数据的备份,它要求在数据库设计时,就做好 全面考虑,把需要单独做备份的表进行分组,给它们分配不同 的文件组(表只能放在文件组上,一个文件组可以是一个文件 或多个文件),这样才能在做备份的时候,单独备份这些数据。 第 10 章 数 据 库 的 备 份 和 恢 复
10.3备份策略 根据前面掌握的信息和材料,就可以从实际情况出发选 择合适的备份策略了。常用的备份选择方案有:仅进行完整数 章据库备份、或在进行完整数据库备份的同时进行事务日志备份 数或使用完整数据库备份和差异数据库备份。 据 1.完整数据库备份策略 的 2.日志备份策略 备 创建定期的数据库完整备份,并在两次数据库完整备份 和之间按一定的时间间隔创建差异备份,再按一定的时间间隔创 建日志备份。 复 3.差异备份策略 创建定期的数据库完整备份,并在两次数据库完整备份 之间按一定的时间间隔创建差异备份,增加差异备份的次数 (如每隔四~五小时备份一次),以减少备份时间
10.3 备份策略 根据前面掌握的信息和材料,就可以从实际情况出发选 择合适的备份策略了。常用的备份选择方案有:仅进行完整数 据库备份、或在进行完整数据库备份的同时进行事务日志备份, 或使用完整数据库备份和差异数据库备份。 1.完整数据库备份策略 2.日志备份策略 创建定期的数据库完整备份,并在两次数据库完整备份 之间按一定的时间间隔创建差异备份,再按一定的时间间隔创 建日志备份。 3.差异备份策略 创建定期的数据库完整备份,并在两次数据库完整备份 之间按一定的时间间隔创建差异备份,增加差异备份的次数 (如每隔四~五小时备份一次),以减少备份时间。 第 10 章 数 据 库 的 备 份 和 恢 复
10.4备份设备 备份设备是 SQL Server能存储数据库或事务日志备份拷 数贝的地方。创建备份时,必须选择存放备份数据的备份设备。 据 库 10.4.1备份设备的类型 的 备份设备可以是本地机器上的磁盘文件、远程服务器上 的磁盘文件、磁带以及命名管道。当创建一个备份设备时,需 和要给它指定一个逻辑设备名称和一个物理设备名称。 恢 复 1.磁盘备份设备 磁盘备份设备可以位于本地机器上或一个网络服务器上 的硬盘或其它磁盘存储媒体上的文件。 2.磁带备份设备 磁带备份设备的用法与磁盘设备相同。但 SQL Server中 仅支持本地磁带设备,不支持远程磁带设备
10.4 备份设备 备份设备是SQL Server能存储数据库或事务日志备份拷 贝的地方。创建备份时,必须选择存放备份数据的备份设备。 10.4.1 备份设备的类型 备份设备可以是本地机器上的磁盘文件、远程服务器上 的磁盘文件、磁带以及命名管道。当创建一个备份设备时,需 要给它指定一个逻辑设备名称和一个物理设备名称。 1.磁盘备份设备 磁盘备份设备可以位于本地机器上或一个网络服务器上 的硬盘或其它磁盘存储媒体上的文件。 2.磁带备份设备 磁带备份设备的用法与磁盘设备相同。但SQL Server中 仅支持本地磁带设备,不支持远程磁带设备。 第 10 章 数 据 库 的 备 份 和 恢 复
10.4.2创建备份设备 第 1.使用TSQL语句创建备份设备 数 据 使用系统存储过程 sp addumpdevice可以用來创建 库备份设备。其语法格式为 的 备 sp addumpdevice @devtype =]' device type L @logicalname =]'logical name 和 @physicalname=]'physical name 复 [,L Ocntrltype =] controller type @devstatus =] device status
10.4.2 创建备份设备 1.使用T-SQL语句创建备份设备 使用系统存储过程sp_addumpdevice可以用来创建 备份设备。其语法格式为: sp_addumpdevice [ @devtype = ] 'device_type' , [ @logicalname = ] 'logical_name' , [ @physicalname = ] 'physical_name' [ , { [ @cntrltype = ] controller_type | [ @devstatus = ] 'device_status' } ] 第 10 章 数 据 库 的 备 份 和 恢 复
10.4.2创建备份设备 【例10-1】分别创建一个本地磁盘备份设备 第 DISKBackup Edu;网络磁盘备份设备 NETBackup Edu和本 章地磁带备份设备 TAPEBackup Edu 数 USE master 据 创建本地磁盘备份设备 的 EXEC sp addumpdevice disk E'E:\Backups\Edu\Backup_Edu. bak DISKBackup Edi 和 创建网络磁盘备份设备 EXEC sp addumpdevice disk,' NETBackup Edu 复 \\INLQSERVER\ ShareEduEedu Backup Edu. bak -创建本地磁带备份设备 EXEC sp addumpdevice tape TAPEBackup Edu \.TAPEO
10.4.2 创建备份设备 【 例 10-1】 分 别 创 建 一 个 本 地 磁 盘 备 份 设 备 DISKBackup_Edu;网络磁盘备份设备NETBackup_Edu和本 地磁带备份设备TAPEBackup_Edu。 USE master -- 创建本地磁盘备份设备 EXEC sp_addumpdevice 'disk', 'DISKBackup_Edu', 'E:\Backups\Edu\Backup_Edu.bak' -- 创建网络磁盘备份设备 EXEC sp_addumpdevice 'disk', 'NETBackup_Edu', '\\JINLQSERVER\ShareEdu\Edu\Backup_Edu.bak' -- 创建本地磁带备份设备 EXEC sp_addumpdevice 'tape', 'TAPEBackup_Edu', '\\.\TAPE0' 第 10 章 数 据 库 的 备 份 和 恢 复
10.4.2创建备份设备 2.使用企业管理器创建备份设备 第 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)展开“管理”节点,右击“备份”项,在出现的快捷菜 数单中选择“新建备份设备”菜单项,系统将弹出如图10-1所示 据的“备份设备属性新设备”对话框。 的 3)在“名称”框中输入需创建备份设备的逻辑名称。 备 4)在下半部分中选择备份设备的物理名称。可以选择的有 “磁带驱动器名”和“文件名”。由于系统中没有安装磁带驱 动器,故在此“磁带驱动器云”为灰色不能选择。在“文件名 复对应的输入框中输入磁盘备份设备所使用的物理文件名或通过 单击其后的“”按钮,在“备份设备位置”对话框中从本地讣 算机上选择一个物理文件。 5)单击“确定”按钮,关闭图10-1对话框,完成创建备份 设备工作。 ○
10.4.2 创建备份设备 2.使用企业管理器创建备份设备 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)展开“管理”节点,右击“备份”项,在出现的快捷菜 单中选择“新建备份设备”菜单项,系统将弹出如图10-1所示 的“备份设备属性-新设备”对话框。 3)在“名称”框中输入需创建备份设备的逻辑名称。 4)在下半部分中选择备份设备的物理名称。可以选择的有 “磁带驱动器名”和“文件名” 。由于系统中没有安装磁带驱 动器,故在此“磁带驱动器名”为灰色不能选择。在“文件名” 对应的输入框中输入磁盘备份设备所使用的物理文件名或通过 单击其后的“”按钮,在“备份设备位置”对话框中从本地计 算机上选择一个物理文件。 5)单击“确定”按钮,关闭图10-1对话框,完成创建备份 设备工作。 第 10 章 数 据 库 的 备 份 和 恢 复