




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章 数据库的备份和恢复,10.1 数据库备份概述 10.2 备份类型 10.3 备份策略 10.4 备份设备 10.5 备份 10.6 还原,10.1 数据库备份概述,随着信息时代和互联网技术的飞速发展,企业的信息数据量急剧增长。而目前黑客攻击、病毒袭击已成家常便饭,硬件故障和人为的误操作也时有发生,一旦由此发生的数据损坏或丢失,造成的损失可能是巨大的,有的可能是灾难性的。 在数据库应用系统中,以下情况可能造成数据的丢失或系统的崩溃: l 系统硬件(如存储子系统)故障; l 数据库相关软件瘫痪; l 黑客攻击或病毒袭击; l 人为的误操作; l 应用程序中某种不可预见的BUG。 数据库备份是指定期或不定期地将数据库中的全部或部分数据复制到安全的存储介质(磁盘、磁带等)上保存起来的过程。,10.1 数据库备份概述,10.1.1 备份需求分析 一个合理的数据库备份方案,应该能够在数据造成丢失时,可以有效地恢复重要数据,同时也要考虑技术实现的难度和有效地利用资源。 根据并分析掌握的信息,接下来应该对备份内容、备份频率、备份介质,使用何种备份类型及恢复模型等进行详细的规划。 10.1.2 数据一致性检查 在备份数据库前,应检查数据库中数据的正确性与一致性,这样才能保证备份后数据的正确及以后的顺利恢复。,10.2 备份类型,1完整数据库备份 完整数据库备份是指对数据库进行完整备份,包括所有的数据以及数据库对象。由于是对数据库的完整备份,所以这种备份类型不仅速度慢,而且将占用大量的磁盘空间。因此,在进行数据库备份时,一般常将其安排在凌晨,因为此时整个数据库系统几乎不进行其它事务操作,从而可以提高数据库备份的速度。 2事务日志备份 事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和完整数据库备份之后,所有已经完成的事务,但事务日志备份前,至少应有一次完整数据库备份。还原的时候,必须先还原完整数据库备份,再还原差异备份(如果有的话),再按照事务日志备份的先后顺序,依次还原各次日志备份的内容;这种备份生成的备份文件最小,需要的时间也最短,对SQL Server服务性能的影响也最小,适宜于经常备份。,10.2 备份类型,3差异备份 差异备份是指将最近一次数据库完整备份以来对数据所做的修改进行备份,因此差异备份实际上是一种增量数据库备份。与完整数据库备份相比,差异备份由于备份的数据量较小,所以备份和恢复所用的时间较短,可以经常进行差异备份。通过增加差异备份的备份次数,可以降低丢失数据的风险,将数据库恢复至进行最后一次差异备份完成时的那一点,但它无法像事务日志备份那样提供到时间点的无数据损失备份,它只允许在实际所做的备份点上恢复。 4文件或文件组备份 文件或文件组备份只备份数据库中的个别文件或文件组。常常用于对重要数据的备份,它要求在数据库设计时,就做好全面考虑,把需要单独做备份的表进行分组,给它们分配不同的文件组(表只能放在文件组上,一个文件组可以是一个文件或多个文件),这样才能在做备份的时候,单独备份这些数据。,10.3 备份策略,根据前面掌握的信息和材料,就可以从实际情况出发选择合适的备份策略了。常用的备份选择方案有:仅进行完整数据库备份、或在进行完整数据库备份的同时进行事务日志备份,或使用完整数据库备份和差异数据库备份。 1完整数据库备份策略 2日志备份策略 创建定期的数据库完整备份,并在两次数据库完整备份之间按一定的时间间隔创建差异备份,再按一定的时间间隔创建日志备份。 3差异备份策略 创建定期的数据库完整备份,并在两次数据库完整备份之间按一定的时间间隔创建差异备份,增加差异备份的次数(如每隔四五小时备份一次),以减少备份时间。,10.4 备份设备,备份设备是SQL Server能存储数据库或事务日志备份拷贝的地方。创建备份时,必须选择存放备份数据的备份设备。 10.4.1 备份设备的类型 备份设备可以是本地机器上的磁盘文件、远程服务器上的磁盘文件、磁带以及命名管道。当创建一个备份设备时,需要给它指定一个逻辑设备名称和一个物理设备名称。 1磁盘备份设备 磁盘备份设备可以位于本地机器上或一个网络服务器上的硬盘或其它磁盘存储媒体上的文件。 2磁带备份设备 磁带备份设备的用法与磁盘设备相同。但SQL Server中仅支持本地磁带设备,不支持远程磁带设备。,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.4.2 创建备份设备,【例10-1】 分别创建一个本地磁盘备份设备DISKBackup_Edu;网络磁盘备份设备NETBackup_Edu和本地磁带备份设备TAPEBackup_Edu。 USE master - 创建本地磁盘备份设备 EXEC sp_addumpdevice disk, DISKBackup_Edu, E:BackupsEduBackup_Edu.bak - 创建网络磁盘备份设备 EXEC sp_addumpdevice disk, NETBackup_Edu, JINLQSERVERShareEduEduBackup_Edu.bak - 创建本地磁带备份设备 EXEC sp_addumpdevice tape, TAPEBackup_Edu, .TAPE0,10.4.2 创建备份设备,2使用企业管理器创建备份设备 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)展开“管理”节点,右击“备份”项,在出现的快捷菜单中选择“新建备份设备”菜单项,系统将弹出如图10-1所示的“备份设备属性-新设备”对话框。 3)在“名称”框中输入需创建备份设备的逻辑名称。 4)在下半部分中选择备份设备的物理名称。可以选择的有“磁带驱动器名”和“文件名”。由于系统中没有安装磁带驱动器,故在此“磁带驱动器名”为灰色不能选择。在“文件名”对应的输入框中输入磁盘备份设备所使用的物理文件名或通过单击其后的“”按钮,在“备份设备位置”对话框中从本地计算机上选择一个物理文件。 5)单击“确定”按钮,关闭图10-1对话框,完成创建备份设备工作。,10.4.3 查看备份设备,运行系统存储过程sp_helpdevice可以方便地查看系统中已创建的备份设备,也可以在企业管理器中查看,步骤如下: 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)展开“管理”节点,单击出现的“备份”项,在右边的“备份项目”列表框中就可看到系统中所有已创建的备份设备,如图10-2所示。 3)“备份项目”列表框中的每行就是一个备份设备,可以在上面查看到每个备份设备的逻辑名称、对应的物理名称及设备的类型。,10.4.4 删除备份设备,当备份设备不再使用时,就可以将其删除。 1使用系统存储过程删除备份设备 系统存储过程sp_dropdevice的语法格式为: sp_dropdevice logicalname = device_name , delfile = delfile 2使用企业管理器删除备份设备 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)展开“管理”节点,单击出现的“备份”项,在右边的“备份项目”列表框中就可看到系统中所有已创建的备份设备,如图10-2所示。 3)在“备份项目”列表框中右击需删除的备份设备,在弹出的快捷菜单中选择“删除”菜单项,系统将弹出“确实需要删除备份设备”确认对话框,单击“是”按钮确认删除。,10.5 备份,10.5.1 备份前的准备 为了将数据库完整、安全地备份,应在具体执行备份操作之前,根据系统环境和实际需要制订一个切实可行的备份计划是十分重要的,以确保数据库的安全。 10.5.2 使用T-SQL进行数据备份 使用BACKUP语句可以进行整个数据库、事务日志,一个或多个文件或文件组的备份。不同的备份,使用的BACKUP语句是不同的。 1备份整个数据库 2备份特定的文件或文件组 3备份事务日志,完整数据库备份、差异备份,【例10-3】 完整数据库备份。将Educational数据库整个备份到DISKBackup_Edu备份设备上,并为备份集设置密码。 BACKUP DATABASE Educational TO DISKBackup_Edu 【例10-4】差异备份。对Educational数据库进行差异备份,备份到DISKBackup_Edu备份设备上。 进行差异备份前,必须至少进行一次完整数据库备份。使用BACKUP DATABASE命令时,除需要指定备份数据库的名称、备份设备外,还必须指定子句DIFFERENTIAL。实现该例任务的BACKUP DATABASE命令如下: BACKUP DATABASE Educational TO DISKBackup_Edu WITH DIFFERENTIAL,差异备份、事务日志备份,【例10-4】差异备份。对Educational数据库进行差异备份,备份到DISKBackup_Edu备份设备上。 进行差异备份前,必须至少进行一次完整数据库备份。使用BACKUP DATABASE命令时,除需要指定备份数据库的名称、备份设备外,还必须指定子句DIFFERENTIAL。实现该例任务的BACKUP DATABASE命令如下: BACKUP DATABASE Educational TO DISKBackup_Edu WITH DIFFERENTIAL 【例10-5】事务日志备份。将Educational数据库的事务日志备份到E:BackupsEduBackup_Edu_Log.bak文件中。 进行事务日志前,必须至少进行一次完整数据库备份。事务日志的备份应使用BACKUP LOG命令。实现该例任务的BACKUP DATABASE命令如下: BACKUP LOG Educational TO DISK=E:BackupsEduBackup_Edu_Log.bak WITH PASSWORD=MyPass,文件与文件组备份,【例10-6】文件与文件组备份。将Educational数据库中的Edu_data文件备份到DISKBackup_Edu备份设备中。 使用BACKUP DATABASE命令进行文件或文件组备份时,除需要指定备份数据库的名称、备份设备外,还必须指定FILE(文件)子句或FILEGROUP(文件组)子句。实现该例任务的BACKUP DATABASE命令如下: BACKUP DATABASE Educational FILE = Edu_data TO DISKBackup_Edu 在查询分析器中执行上述命令,就可将Educational数据库的Edu_data文件备份到DISKBackup_Edu备份设备中。,10.5.3 使用企业管理器进行数据备份,1完整数据库备份 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)展开“数据库”节点,右击要备份的数据库,在出现的快捷菜单中执行“所有任务” “备份数据库”菜单项,系统弹出“SQL Server备份”对话框,如图10-4所示。 3)“数据库”列表框中选择要备份的数据库,默认情况下被选中的是刚才用右键单击的那个数据库。 4)“名称”输入框内为备份输入一个便于识别的名称,这里为“Educational 完整备份”。 5)“描述”框中为该备份输入一个描述性信息(可选),这里输入“第二次完整备份050218”。 6)在“备份”单选按钮组中单击“数据库 - 完全”选钮,进行完全数据库备份。注意完整数据库备份是其它备份的基础。,10.5.3 使用企业管理器进行数据备份,7) “目的”栏下的列表框中显示出曾对该数据库进行备份时使用的备份设备或备份文件名。单击“添加”按钮,可以添加备份设备或备份文件名,出现如图10-5所示的“选择备份目的”对话框,在该对话框中选择“文件名”单选钮表示使用临时性的备份文件存储数据库的备份内容;选择“备份设备”单选钮表示使用永久性的现有备份设备或创建新的备份设备存储数据库的备份内容。 8) 在图10-4的“重写”选项下,单击“追加到媒体”单选钮,将备份追加到现有的备份设备上;单击“重写现有媒体”单选钮(相当于在SQL语句中使用了FORMAT子句),则将覆盖备份设备中原有的内容。这里选择“重写现有媒体”。 9)图10-4的“调度”复选框用来设定备份计划,即调度备份操作在以后执行或定期执行(可选)。,10.5.3 使用企业管理器进行数据备份,10)单击“选项”选项卡,进入如图10-7所示的“SQL Server备份”对话框“选项”页。 11)在图10-7中通过设置“完成后验证备份”复选框决定是否进行备份设备的验证。 12)通过设置“检查媒体集名称和备份集到期时间”复选框,检查备份媒体以防意外重写。在“媒体集名称”框中,输入将用于备份操作的媒体名称。 13)若是第一次使用备份媒体,或者要更改现有的媒体标签,则在“媒体集标签”框下选择“初始化并标识媒体”复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。 14)单击“确定”按钮,系统按前述设置进行备份,备份完成后出现“数据库备份成功”信息框,单击“确定”按钮,即可完成数据库的完全备份。,差异数据库备份、事务日志备份,2差异数据库备份 除第6)步选择“数据库 差异”,第8)步一般选择“追加到媒体”外(备份数据放入同一备份设备中),与完整数据库备份操作相同。 3事务日志备份 除第6)步选择“事务日志”,第8)步一般选择“追加到媒体”外(备份数据放入同一备份设备中),与完整数据库备份操作相同。,4文件与文件组备份,除第6)步选择“文件和文件组”外,与完整数据库备份操作相同。在第6)步中,单击“文件和文件组”,并单击文本框右边的按钮,出现如图10-8所示的“指定文件组和文件”对话框。该对话框中显示了该数据库中存在的文件组和文件,选中需要备份的文件组或文件前的复选框,单击“确定”按钮即可完成备份文件组和文件的任务。,10.6 还原,虽然每个数据库管理员都有一个美好愿望:希望永远不要出现还原数据库的情况。但任何数据库系统都不能保证不出现意外的崩溃状况,因此对一个DBA来说,掌握数据库的还原技术是必要的。 10.6.1 数据库恢复的概念 有两种情况需要执行恢复数据库的操作: (1)数据库或数据损坏。 因为用户误删了数据库里的关键数据,或数据库文件被意外损坏,以及服务器里硬盘驱动器损坏等情况。 (2)因维护任务或数据的远程处理从一个服务器向另一个服务器拷贝数据库。 数据库恢复是数据库备份的逆向操作,是将先前所做的数据库备份加载并应用事务日志重建数据库的过程。执行恢复操作,可以重新创建备份数据库完成时数据库中存在的相关文件,但备份后对数据库的所有修改将不能被恢复而丢失。,10.6.2 数据库恢复模型,1简单恢复模型 使用简单恢复模型,数据只能恢复到最新的完整数据库备份或差异备份的即时点,而不能将数据库还原到故障点或特定的即时点。若要还原到这些点,就需要选择完全恢复或大容量日志记录恢复模型。 2完全恢复模型 完全恢复模型为数据提供了最大的保护性和灵活性。该模型依靠事务日志提供完全的可恢复性,并有效地防止故障所造成的数据损失,有将数据库恢复到故障点或特定即时点的能力。为保证这种恢复程度,包括大容量操作(如 SELECT INTO、CREATE INDEX 和大容量装载数据)在内的所有操作都将完整地记入日志。 3大容量日志记录恢复模型 大容量日志记录模型为数据提供了最大的保护性。该模型为某些大规模操作(如创建索引或大容量复制)提供了更高的性能和最少的日志使用空间。,10.6.3 查看备份信息,1查看备份集内的数据和日志文件 可以使用RESTORE FILELISTONLY语句查看备份集内包含的数据库和日志文件列表组成的结果集。 RESTORE FILELISTONLY语句的语法格式如下: RESTORE FILELISTONLY FROM WITH FILE = file_number ,PASSWORD = password | password_variable 【例10-7】 查看DISKBackup_Edu备份设备中所包含的数据库和日志文件列表组成的结果集。 RESTORE FILELISTONLY FROM DISKBackup_Edu,10.6.3 查看备份信息,2查看备份首部信息 可以使用RESTORE HEADERONLY语句查看备份设备上所有备份集的首部信息。其语句格式与RESTORE FILELISTONLY语句相同,参数也一样,所不同的只是将RESTORE FILELISTONLY换成RESTORE HEADERONLY即可。,10.6.4 T-SQL还原数据库,1还原完整数据库备份 RESTORE DATABASE database_name | database_name_var FROM ,.n WITH RESTRICTED_USER , FILE = file_number | file_number ,PASSWORD= password | password_variable ,NORECOVERY|RECOVERY|STANDBY= undo_file_name 【例10-8】 从DISKBackup_Edu备份设备上还原完整数据库备份。 USE Master GO RESTORE DATABASE Educational FROM DISKBackup_Edu,2. 还原数据库的部分内容,RESTORE DATABASE database_name | database_name_var ,.n FROM ,.n WITH PARTIAL , FILE = file_number | file_number , PASSWORD = password | password_variable , NORECOVERY 【例10-9】 从DISKBackup_Edu备份设备上还原差异数据库备份。 RESTORE DATABASE Educational FROM DISKBackup_Edu WITH NORECOVERY /* 先还原完整数据库备份,需指定NORECOVERY */ RESTORE DATABASE Educational FROM DISKBackup_Edu WITH FILE = 2, RECOVERY /* 在还原完整数据库备份的基础上,还原差异备份 */,3. 还原文件与文件组备份,RESTORE DATABASE database_name | database_name_var ,.n FROM ,.n WITH RESTRICTED_USER , FILE = file_number | file_number , PASSWORD = password | password_variable , NORECOVERY ,3. 还原文件与文件组备份,【例10-10】 从E:BackupsEduBackup_Edu_Log.bak文件上还原事务日志备份。 还原事务日志备份一般应执行以下步骤: (1)先还原最新的完整数据库备份,并指定NORECOVERY子句; (2)还原最后一次所做的差异备份,并指定NORECOVERY子句; (3)按照创建时的相同顺序,还原自完整数据库备份或差异备份后创建的每个事务日志备份。 RESTORE DATABASE Educational FROM DISKBackup_Edu WITH NORECOVERY /* 先还原完整数据库备份,需指定NORECOVERY */ RESTORE DATABASE Educational FROM DISKBackup_Edu WITH FILE = 2, NORECOVERY /* 在还原完整数据库备份的基础上,还原差异备份 */ RESTORE LOG Educational FROM DISK =E:BackupsEduBackup_Edu_Log.bak WITH PASSWORD=MyPass, NORECOVERY /* 还原第一次事务日志备份 */ RESTORE LOG Educational FROM DISK =E:BackupsEduBackup_Edu_Log.bak WITH FILE = 2, RECOVERY /* 还原第二次事务日志备份*/,10.6.5 使用企业管理器还原数据库,1从完整数据库备份中还原数据 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)右击“数据库”节点,在出现的快捷菜单中执行“所有任务”“还原数据库”菜单项,系统弹出如图10-9所示“还原数据库”对话框。 3)在“还原为数据库”列表框中选择或输入要还原到的数据库,这里为“Educational”。 4)因前面对数据库进行完整数据库备份时使用了备份设备DISKBackup_Edu,故还原时须使用从备份设备中还原。因此,在“还原”单选按钮组中选择“从设备”单选项。 5)“参数”中的“设备”列表框中列出了从哪些设备中还原数据。单击其后的“选择设备”按钮,出现如图10-10所示“选择还原设备”对话框。,10.6.5 使用企业管理器还原数据库,6)单击“添加”按钮,出现如图10-11所示“选择还原目的”对话框。 7)选择“备份设备”单选项,并从“备份设备”下拉式列表框中选中“DISKBackup_Edu” 备份设备。单击“确定”按钮,返回图10-10,这时设备名列表框中将出现备份设备DISKBackup_Edu的物理文件名。 8)单击“确定”按钮,返回图10-9,这时设备列表框中将出现备份设备DISKBackup_Edu的物理文件名。 9)在经过上述操作过后的图10-9中,“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级产品经理实战模拟题集及解析手册
- 2025年平面设计师技能认证考试模拟题集
- 2026届福建省建瓯市芝华中学化学高一上期中监测试题含解析
- 2025年保险公司招聘笔试备考资料及模拟题集答案
- 2025年高级工程师英语应用能力测试题库及答案解析
- 2025年物流工程师中级考试模拟题及备考建议
- 2025年财务经理面试必-备知识与预测题详解
- 2025年编程算法竞赛实战指南与模拟题解答
- 2025年监理《建设工程监理案例分析(交通)》考后答案
- 2025年财务会计主管招聘笔试指南及模拟题解析
- 望舌-中医舌诊-课件
- 《华为团队工作法》读书笔记PPT模板思维导图下载
- 2022年上海市法院系统辅助文员招聘128人笔试备考题库及答案解析
- 全过程工程咨询服务技术方案
- GB/T 4802.1-2008纺织品织物起毛起球性能的测定第1部分:圆轨迹法
- GB/T 35568-2017中国荷斯坦牛体型鉴定技术规程
- GB/T 28707-2012碟簧支吊架
- GB/T 2791-1995胶粘剂T剥离强度试验方法挠性材料对挠性材料
- GB/T 25702-2010复摆颚式破碎机颚板磨耗
- 超分子化学简介课件
- 流体力学-流体力学基本方程课件
评论
0/150
提交评论