您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 模块十三++数据库的备份和还原
模块十三数据库的备份和还原本章学习目标了解SQLServer2008中数据库备份的分类及特点了解备份设备的概念掌握备份设备的创建、查看、删除方法掌握使用SQLServer管理控制台进行备份的方法本章学习目标掌握使用Transact-SQL语句进行备份的方法掌握使用SQLServer管理控制台进行备份还原的方法掌握使用Transact-SQL语句进行备份还原的方法13.1数据库的备份备份就是创建SQLServer数据库或事务日志的副本,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。执行备份操作必须拥有对数据库备份的权限许可,SQLServer只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。13.1.1备份和恢复需求分析数据库中的数据丢失或被破坏可能是由于以下原因:(1)计算机硬件故障。由于使用不当或产品质量等原因,计算机硬件可能会出现故障,不能使用。如硬盘损坏会使得存储于其上的数据丢失。(2)软件故障。由于软件设计上的失误或用户使用的不当,软件系统可能会误操作数据引起数据破坏。(3)病毒。破坏性病毒会破坏系统软件、硬件和数据。(4)误操作。如用户误使用了诸如DELETE、UPDATE等命令而引起数据丢失或被破坏。(5)自然灾害。如火灾、洪水或地震等,它们会造成极大的破坏,会毁坏计算机系统及其数据。(6)盗窃。一些重要数据可能会遭窃。数据备份的范围可以是完整的数据库、部分数据库或者一组文件或文件组。对于这些范围,SQLServer均支持完整和差异两种备份方式:完整备份:完整备份包括特定数据库(或者一组特定的文件组或文件)中的所有数据,以及可以还原这些数据的足够的日志。差异备份:差异备份基于数据的最新完整备份。差异备份仅包括自最新完整备份后发生更改的数据。使用差异备份可以加快进行频繁备份的速度,从而降低数据丢失的风险。13.1.2数据库备份和恢复的基本概念在sqlserver2008中,数据备份的方法如下:①数据备份(1)数据库备份:数据库备份、差异数据库备份(2)部分备份:部分备份、部分差异备份(3)文件备份:文件备份、差异文件备份②事务日志备份在完整恢复模式或大容量日志恢复模式下,需要定期进行“事务日志备份”(或“日志备份”)。SQLServer2008对所要备份内容的选项设置,提供了以下不同的方式,它们分别为:(1)数据库备份数据库备份提供以下两种方式:完整数据库备份:整个数据库的完整备份。差异数据库备份:数据库中所有文件的备份。此备份只包含自每个文件的最新数据库备份之后发生了修改的数据区。(2)部分备份所有还原模式都支持部分备份。部分备份为在简单还原模式下对包含一些只读文件组的数据库的备份工作提供了更多的灵活性。部分备份:备份主文件组、所有读/写文件组以及任何选择指定的只读文件或文件组中的所有完整数据。只读数据库的部分备份仅包含主文件组。部分差异备份:这种备份仅包含自同一组文件组的最新部分备份以来发生了修改的数据区。13.1.2数据库备份和恢复的基本概念(3)文件和文件组备份可以分别备份和还原数据库中的文件。使用文件备份能够只还原损坏的文件,而不用还原数据库的其余部分,从而加快了还原速度。SQLServer支持下列类型的文件备份:完整文件备份:一个或多个文件或文件组中所有数据的完整备份。在简单还原模式下,文件备份基本上仅限于只读辅助文件组。差异文件备份:一个或多个文件的备份,包含自每个文件的最新完整备份之后发生了更改的数据区。13.1.2数据库备份和恢复的基本概念(4)事务日志备份在完整还原模式或大容量日志还原模式下,需要定期进行事务日志备份。每个日志备份都包括创建备份时处于活动状态的部分事务日志,以及先前日志备份中未备份的所有日志记录。在创建第一个日志备份之前,必须先创建一个完整备份(如数据库备份)。13.1.2数据库备份和恢复的基本概念13.1.3备份设备在进行备份以前首先必须创建或指定备份设备。备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质,可以是硬盘、磁带或管道。当使用磁盘时,SQLServer允许将本地主机硬盘和远程主机上的硬盘作为备份设备。备份设备在硬盘中是以文件的方式存储的。创建和删除备份设备可以用两种方法:使用SQLServer管理控制台和执行系统存储过程sp_addumpdevice。13.1.3备份设备1.使用SQLServer管理控制台管理备份设备(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,展开“服务器对象”。(2)右击服务器对象中的“备份设备”。(3)在弹出的快捷菜单中选择“新建备份设备”选项。图13.1选择【新建备份设备】命令图13.2【备份设备】对话框图13.3新建备份设备13.1.3备份设备对于一个已存在的备份设备,可以双击备份设备名称或右击设备名并选择“属性”来查看其属性。如果该备份设备已被用来备份过数据库,则单击备份设备属性框中的“媒体内容”选项页来查看该备份设备中的内容。如果要删除一个备份设备,可以右击指定设备,在弹出的快捷菜单中选择“删除”选项。13.1.3备份设备2.使用Transact-SQL语句创建、删除备份设备其语法形式如下:Sp_helpdevice:可以列出备份设备sp_addumpdevice{‘device_type’}[,’logical_name’][,’physical_name’][,{{controller_type|’device_status’}}]sp_dropdevice‘备份设备名’[,’DELETE’]若指定了DELETE参数,则在删除备份设备的同时删除它使用的操作文件。13.1.3备份设备其中,device_type表示设备类型,其值可为disk,pipe和tape。logical_name表示设备的逻辑名称。physical_name表示设备的实际名称。controller_type和device_status可以不必输入。课堂练习:新建一个名为“MyDevice2”的备份设备并将其映射成为磁盘文件“E:\DATA\MyDevice2.BAK”。13.1.4对数据库进行备份1、使用管理控制台(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,右击要进行备份的数据库,并依次选择“任务|备份”选项。(2)会打开“备份数据库-xscj”对话框。(3)在“常规”选择页中,选择备份数据库的名称、备份类型选择‘完整备份’、备份组件以及备份集的名称;在“目的-备份到”一栏,可以选择用于备份的介质,单击“添加”按钮可以添加备份文件或设备。(4)设置好所需选项后单击“确定”按钮,则备份立刻开始。备份结束后会出现备份是否成功的提示信息框。一、完整备份13.1.4对数据库进行备份2、使用SQL命令BACKUPDATABASEdatabase_nameTObackup_device[n][WITH[[,]NAME=backup_set_name][[,]DESCRIPTION=‘TEXT’][[,]{INIT|NOINIT}][[,]{COMPRESSION|NO_COMPRESSION}]要备份数据库名称备份的目标设备指定备份名称备份的描述INIT:新备份的数据覆盖当前备份设备上的每一项内容,即原来数据不存在;NOINIT:新备份的数据添加到备份设备已有的内容的后面。COMPRESSION:起用压缩功能。13.1.4对数据库进行备份二、差异备份1、使用管理控制台(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,右击要进行备份的数据库,并依次选择“任务|备份”选项。(2)会打开“备份数据库-xscj”对话框。(3)在“常规”选择页中,选择备份数据库的名称、备份类型选择‘完整备份’、备份组件以及备份集的名称;在“目的-备份到”一栏,可以选择用于备份的介质,单击“添加”按钮可以添加备份文件或设备。(4)设置好所需选项后单击“确定”按钮,则备份立刻开始备份结束后会出现备份是否成功的提示信息框。2、使用SQL命令BACKUPDATABASEdatabase_nameTObackup_device[n][WITHDIFFERENTIAL[[,]NAME=backup_set_name][[,]DESCRIPTION=‘TEXT’][[,]{INIT|NOINIT}][[,]{COMPRESSION|NO_COMPRESSION}]13.1.4对数据库进行备份三、事务日志备份1、使用管理控制台(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,右击要进行备份的数据库,并依次选择“任务|备份”选项。(2)会打开“备份数据库-xscj”对话框。(3)在“常规”选择页中,选择备份数据库的名称、备份类型选择‘完整备份’、备份组件以及备份集的名称;在“目的-备份到”一栏,可以选择用于备份的介质,单击“添加”按钮可以添加备份文件或设备。(4)设置好所需选项后单击“确定”按钮,则备份立刻开始。备份结束后会出现备份是否成功的提示信息框。2、使用SQL命令BACKUPLOGdatabase_nameTObackup_device[n][WITH[[,]NAME=backup_set_name][[,]DESCRIPTION=‘TEXT’][[,]{INIT|NOINIT}][[,]{COMPRESSION|NO_COMPRESSION}]四、文件组备份文件组是将一种将数据库存放在多个文件上的方法,并允许控制数据库对象(比如表或者视图)存储在这些文件中的哪个文件上.这样,数据库就不会受只存储在单个硬盘上的限制,而是可以分散到许多硬盘上.利用文件组备份,每次可以备份这些文件当中的一个或者多个文件,而不是同时备份整个数据库.文件组还可以用来加快数据访问的速度,因为文件组允许将表存放到一个文件上,而将对应的索引存放在另一个文件上。加快数据访问速度同时会减慢备份过程,因为必须将表和索引作为一个单元来备份。1、使用资源管理器第一步:创建文件组。第二步:使用同前面相同方法备份,在备份组件中选择‘文件和文件组’。2、使用SQL语句:BACKUPDATABASEdatabase_namefiel_or_filegroup[n]TObackup_device[n][WITH[[,]NAME=backup_set_name][[,]DESCRIPTION=‘TEXT’][[,]{INIT|NOINIT}][[,]{COMPRESSION|NO_COMPRESSION}]13.2数据库恢复恢复是与备份相对应的操作,其目的在于当系统出现问题时可以利用备份将数据库恢复到正常的状态。检查点将脏数据页从当前数据库的缓冲区高速缓存刷新到磁盘上。什么情况下或执行什么操作时发生检查点的操作?13.2.1使用资源管理器恢复数据库一、使用资源管理器:①连接到相应的MicrosoftSQLServer数据库引擎实例之后,在对象资源管理器中,单击服务器名称以展开服务器树。②展开数据库,右键单击数据库或系统数据库,在弹出的菜单中选择【还原数据库】。如图13.4所示。图13.4选择【还原数据库】③打开“还原数据库”对话框,如图13.5所示。图13.5【还原数据库】对话框④在“常规”页上,还原数据库的名称将显示在“目标数据库”列表框中。若要创建新数据库,请在列表框中输入数据库名。⑤在“目标时间点”文本框中,可以保留默认值(“最近状态”),也可以单击浏览按钮打开“时点还原”对话框,以选择具体的日期和时间。⑥若要指定要还原的备份集的源和位置,请单击以下选项之一:(1)源数据库在列表框中输入数据库名称。(2)源设备单击浏览按钮,打开“指定备份”对话框。在“备份媒体”列表框中,从列出的设备类型选择一种。若要为“备份位置”列表框选择一个或多个设备,请单击“添加”。将所需设备添
本文标题:模块十三++数据库的备份和还原
链接地址:https://www.777doc.com/doc-3201944 .html