当前位置首页 > 计算机 > 数据库/结构与算法
搜柄,搜必应! 快速导航 | 使用教程

数据库的备份和恢复

文档格式:PPT| 43 页|大小 363.50KB|2024-12-12 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 43
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,第12章,数据库的备份和恢复,,第1,2,章 数据库的备份和恢复,学习要点:,,备份的概念,,,备份的类型,,,数据库备份的方法,,,恢复数据库的方法,,,,第1,2,章 数据库的备份和恢复,12.1,备份概述,,,12.2,备份操作,,,12.3,恢复操作,,,12.4,恢复数据库的其他方法,,,12.5,数据的导入和导出,,12.1,备份概述,12.1.1 为什么以及何时备份,,备份是指数据库管理员定期或不定期地将数据库部分或全部内容复制到磁带或磁盘上保存起来的过程当数据库遭到破坏时,可以利用备份进行数据库的恢复备份的目的就是当数据库发生意外时,尽可能的减少数据的丢失何时进行备份,取决于所能承受数据损失的大小执行备份操作必须拥有数据库备份的权限12.1.2,备份类型,,,,SQL Server 2000,支持的备份类型有四种,:,,完全数据库备份,,差异备份,,事务日志备份,,文件和文件组备份,,1,.完全数据库备份,,,完全数据库备份是指备份数据库中当前所有的数据包括事务日志与事务日志备份和差异备份相比,完全数据库备份使用的存储空间多,完成备份操作需要的时间长,所以完全数据库备份的创建频率通常比差异备份或事务日志备份低。

    完全数据库备份适用备份容量较小、或数据库中数据的修改较少的数据库2,.差异备份,,,差异备份是指备份自上次完全数据库备份以来更改的数据差异备份比完全数据库备份小而且备份速度快,因此可以经常地备份,经常备份将减少丢失数据的危险差异备份适合于修改频繁的数据库3,.事务日志备份,,,事务日志备份是指备份自上次备份以来数据变化的过程,即事务日志文件的信息其中的上次备份可以是完全数据库备份、差异备份或事务日志备份可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点4,.文件和文件组备份,,,文件和文件组备份适合于特大型数据库,因为一个很大的数据库要进行完全数据库备份需要很长的时间,那么可以将数据库的文件和文件组分别进行备份备份后如果数据库发生了意外,一般应遵循如下的步骤来进行恢复:,,(1)如果当前日志没有损坏,首先备份事务日志;,,(2)恢复最近的完全数据库备份;,,(3)恢复最近的差异备份(如果进行过差异备份);,,(4)依次恢复自差异备份以后的所有事务日志备份,,(按备份的先后顺序恢复)12.1.3,恢复模型,,,,SQL Server 2000,提供了三种恢复模型,以确定如何备份数据以及能承受何种程度的数据丢失。

    简单恢复,,完全恢复,,大容量日志记录恢复,,,,1.简单恢复,,使用简单恢复模型可以将数据库恢复到最后一次备份的时刻的 状态不过,无法将数据库还原到故障点或特定的即时点在简单恢复的模型下只能进行完全数据库备份和差异备份2.完全恢复,,完全恢复提供将数据库恢复到故障点或特定即时点的能力在完全恢复模型下能进行各种备份3.大容量日志记录恢复,,允许大容量日志记录操作,对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间在大容量日志记录恢复模型下能进行数据库备份、差异备份和事务日志备份12.1.4,备份设备,,,创建备份时,必须选择存放备份数据的备份设备,即存放备份的存储介质备份设备可以是磁盘、磁带、命名管道当建立一个备份设备是要分配一个逻辑名和一个物理名1,.使用企业管理器创建备份设备,1),打开“企业管理器”,展开服务器组,然后展开服务器2)展开“管理”文件夹,右击“备份”,然后单击“新建备份设备”命令,弹出“备份设备属性”对话框,如图12,-,1 所示图,12-1,备份设备属性对话框,,(3)在“名称”框中输入该备份设备的名称4)单击“文件名”,输入备份设备的物理文件名或,,单击浏览(“...”)按钮显示“备份设备位置”对,,话框,再选择备份设备所使用的物理文件。

    5,)单击“确定”按钮完成创建备份设备操作2.使用系统存储过程,sp_,addumpdevice,创建备份设备,,,sp_,addumpdevice,',device_type,' , ',logical_name,' ,  ',physical_name’,,device_type,是指备份设备类型,,,磁盘:,disk,;,,磁带:,tape,;,,,命名管道:,pipe,例,12-1,下面的示例添加一个名为,,sales_backup,的磁盘备份设备,其物理名称为,D:\sales_backup.,bak,EXEC sp_,addumpdevice,'disk', 'sales_backup', 'd:\sales_backup.,bak,',可以使用系统存储过程,sp_,dropdevice,删除备份设备例,12-2,下面的示例删除上例创建的备份设备EXEC sp_,dropdevice,'sales_backup',,12.2,备份操作,,12.2.1,使用企业管理器备份数据库,,,(1)打开“企业管理器”,展开服务器组,然后展开服务器2)展开“数据库”文件夹,右击需要的数据库,选择“所有任务”子菜单,然后单击“备份数据库”,打开“,SQL Server,备份”对话框,如图12-2 所示。

    图,12-2,,SQL Server,备份对话框,,(3)在“名称”框内,输入备份名称在“描述”框中输入对备份集的描述也可以不填写描述框4)在“备份”选项下单击“数据库—完全”或者选择其他的备份类型5)在“目的”选项下,指定备份存放的位置单击“添加”可以添加备份文件或备份设备,如图12-3 所示6)在“重写”选项下,单击“追加到媒体”,将备份追加到当前备份设备的内容之后;单击“重写现有媒体”,将重写备份设备中备份内容,即原来的内容被覆盖7)选择“调度”复选框确定备份操作执行的时间,也可以直接单击“确定”按钮,立即执行备份操作图12-3 选择备份目的对话框,,12.2.2,使用,Transact-SQL,语句备份数据库,,,语法形式如下:,,,BACKUP DATABASE,database_name,,,,TO backup_device,,[ WITH [INIT | NOINIT] [ [ , ] DIFFERENTIAL ]],,,init:,选项表示重写备份集的数据Noinit,:,选项表示备份数据将追加在原有的内容之后,,NOINIT,是 默 认设置Differential:,选项表示差异备份。

    例12-3 下例为,sales,数据库创建一个完全数据库备份和一个差异数据库备份BACKUP DATABASE sales,,TO sales_backup,,With init,,GO,,BACKUP DATABASE sales,,TO sales_backup,,with differential,,GO,使用,BACKUP log,命令可以对数据库进行事务日志备份,,语法形式如下:,,BACKUP LOG database_name TO backup_device,,,例12-4 下例为,sales,数据库创建一个事务日志备份BACKUP LOG sales TO sales_backup,,12.3,恢复操作,,,恢复数据库是加载备份并应用事务日志重建数据库的过程在数据库的恢复过程中,用户不能进入数据库,即数据库是不能使用的一般而言,总是设置该数据库中“单用户”选项为真来限制用户访问要恢复的数据库SQL Server,中进行数据库恢复,可以使用企业管理器和,Transact-SQL,语句12.3.1,使用企业管理器恢复数据库,,(1)打开“企业管理器”,展开服务器组,然后展开服务器。

    2)展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还 原数据库”命令弹出“还原数据库”对话框,如图12-4 所示3)在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择若要用新名称还原数据库,请输入新的数据库名称4)单击“数据库”,在“要还原的第一个备份”列表中,选择要还原的备份集如果要将一个服务器上的数据库备份恢复到另一个服务器上,应选择“从设备”还原5)在“还原”列表中,单击要还原的数据库备份6,)单击“选项”选项卡,根据需要进行各选项的设置,如图,12-5,所示7,)单击“确定”按钮开始恢复数据库图,12-4,还原数据库对话框,,图,12-5,还原数据库对话框“选项”选项卡,12.3.2,使用,Transact-SQL,语句恢复数据库,,语法形式如下:,,,RESTORE DATABASE,database_name,,,,FROM,,backup_device,,[ WITH,,[FILE =,file_number,] [ [ , ] { NORECOVERY | RECOVERY | STANDBY=,undo_file_name,} ] ],,,其中:,,FILE =,file_number:,标识要还原的备份集。

    例如,,file_number,,为 1 表示备份媒体上的第一个备份集,,file_number,,为 2 表示第二个备份集NORECOVERY:,表示还原操作不回滚任何未提交的事务如果需要恢复另一个事务日志,则必须指定,NORECOVERY,或,STANDBY,选项如果,NORECOVERY、RECOVERY,和,STANDBY,均未指定,则默认为,RECOVERY当还原数据库备份和多个事务日志时,或在需要多个,RESTORE,语句时(例如在完整数据库备份后进行差异数据库备份),,SQL Server,要求在除最后的,RESTORE,语句外的所有其它语句上使用,WITH NORECOVERY,选项RECOVERY:,表示还原操作回滚任何未提交的事务在恢复后即可使用数据库只有在最后一步恢复是使用例12-4:从,sales_backup,备份设备中还原完全数据库备份后还原差异备份RESTORE DATABASE sales,,FROM sales_backup,,WITH NORECOVERY,,,,RESTORE DATABASE sales,,FROM sales_,buckup,,WITH FILE = 2,,12.4,恢复数据库的其他方法,,12.4.1,数据库的脱机和联机,,,具体操作步骤如下:,,(1)打开“企业管理器”,展开服务器组,然后展开服务器。

    2)展开“数据库”文件夹,右击,Pubs,数据库,指向“所有任务”子菜单,然后单击“脱机”命令3)在,Pubs,数据库旁出现“脱机”两字,操作完成这时可以对,Pubs,的数据库文件进行复制脱机的数据库要恢复使用,则使用联机操作12.4.2,分离和附加数据库,,,SQL Server 2000,允许分离数据库的数据文件和事务日志文件,然后将其重新附加到另一台服务器,甚至同一台服务器上,如果想将数据库从一台计算机移到另一台计算机或者从一个物理磁盘移到另一物理磁盘上,则分离和附加数据库很有用:一般是先分离数据库;然后将数据库文件移到另一服务器或磁盘;最后通过指定移动文件的新位置附加数据库当附加在数据库时,必须指定主数据文件的名称和物理位置12.5,数据的导入和导出,,,在实际工作中我们的数据可能存储在,Excel、Access、Sybase、Oracle,等数据库中,用户有时需要在,SQL Server,中利用这些数据,这就需要一种工具能够将数据转换到,SQL Server,中SQL Server,提供了一种很容易的把数据从一个,SQL Server,数据库或非,SQL Server,数据库,,传输到一个,SQL Server,数据库的方法,这就是使用数据传输服务(,Data Transformation Services,,,DTS)。

    通过,DTS,用户可以进行不同数据源之间数据的导入、导出和转换12.5.1,数据的导入,,,例12-6 将,Excel,表中的数据导入,SQL Server,中的,mydb,数据库中具体操作步骤如下:,,(1)打开“企业管理器”,展开服务器组,然后展开服务器2)右击“数据库”,选择“所有任务”中的“导入数据”,弹出“数据转换服务导入/导出向导”3)单击“下一步”,出现“选择数据源”对话框,在“数据源” 下拉列表框中选择“,Microsoft Excel 97-2000”,,如图12-9所示对话框在“文件名”框中选择需要导入的文件的路径和文件名图12-9 导入/导出选择数据源对话框,,图,12-10,选择目的,,(4)单击“下一步”,出现如图12-10 所示对话框选择目的,在数据库框中选择,mydb,图,12-11,选择方式,,(,5,),单击“下一步”,选中“从源数据复制表和视图”,如图,12-11,所示对话框图,12-12,选择表和视图对话框,,(,6)单击“下一步”,出现如图12-12所示对话框,选择需要复制的表和视图,图,12-13,保存、调度和复制包对话框,,(,7,)单击“下一步”,出现保存、调度和复制包对话框,如图,12-13,所示,。

    图,12-14,完成对话框,,(,8,)单击“下一步”,出现完成对话框,如图,12-14,所示图,12-15,数据导入对话框,,(9)单击“完成”按钮,开始复制数据如图12-15所示12.5.2,数据的导出,,数据的导出是指将,SQL Server,中的数据转为用户指定的格式的过程,例如将,,SQL Server,表的内容复制到,,Microsoft Access,数据库中使用向导完成数据的导出工作的步骤和数据的导入相似小结:,,本章主要介绍了,SQL Server2000,的备份和恢复的相关知识讲述了备份的四种类型,备份设备的创建,通过企业管理器和,Transact-SQL,语句进行备份和恢复的具体操作的方法,以及数据的导入和导出。

    点击阅读更多内容
    卖家[上传人]:仙人指路
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档