数据库备份和恢复_第1页
数据库备份和恢复_第2页
数据库备份和恢复_第3页
数据库备份和恢复_第4页
数据库备份和恢复_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库备份和恢复第12章数据库的备份和恢复12.1备份概述

12.2备份操作

12.3恢复操作

12.4恢复数据库的其他方法

12.5数据的导入和导出

12.1备份概述

为什么以及何时备份备份是指数据库管理员定期或不定期地将数据库部分或全部内容复制到磁带或磁盘上保存起来的过程。当数据库遭到破坏时,可以利用备份进行数据库的恢复。备份的目的就是当数据库发生意外时,尽可能的减少数据的丢失。

何时进行备份,取决于所能承受数据损失的大小。执行备份操作必须拥有数据库备份的权限。

备份类型

SQLServer2000支持的备份类型有四种:完全数据库备份差异备份事务日志备份文件和文件组备份1.完全数据库备份

完全数据库备份是指备份数据库中当前所有的数据包括事务日志。与事务日志备份和差异备份相比,完全数据库备份使用的存储空间多,完成备份操作需要的时间长,所以完全数据库备份的创建频率通常比差异备份或事务日志备份低。完全数据库备份适用备份容量较小、或数据库中数据的修改较少的数据库。

2.差异备份

差异备份是指备份自上次完全数据库备份以来更改的数据。差异备份比完全数据库备份小而且备份速度快,因此可以经常地备份,经常备份将减少丢失数据的危险。差异备份适合于修改频繁的数据库。3.事务日志备份

事务日志备份是指备份自上次备份以来数据变化的过程,即事务日志文件的信息。其中的上次备份可以是完全数据库备份、差异备份或事务日志备份。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点。

4.文件和文件组备份

文件和文件组备份适合于特大型数据库,因为一个很大的数据库要进行完全数据库备份需要很长的时间,那么可以将数据库的文件和文件组分别进行备份。

备份后如果数据库发生了意外,一般应遵循如下的步骤来进行恢复:(1)如果当前日志没有损坏,首先备份事务日志;(2)恢复最近的完全数据库备份;(3)恢复最近的差异备份(如果进行过差异备份);(4)依次恢复自差异备份以后的所有事务日志备份(按备份的先后顺序恢复)。恢复模型

SQLServer2000提供了三种恢复模型,以确定如何备份数据以及能承受何种程度的数据丢失。简单恢复完全恢复大容量日志记录恢复1.简单恢复使用简单恢复模型可以将数据库恢复到最后一次备份的时刻的状态。不过,无法将数据库还原到故障点或特定的即时点。在简单恢复的模型下只能进行完全数据库备份和差异备份。

2.完全恢复完全恢复提供将数据库恢复到故障点或特定即时点的能力。在完全恢复模型下能进行各种备份。3.大容量日志记录恢复允许大容量日志记录操作,对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间。在大容量日志记录恢复模型下能进行数据库备份、差异备份和事务日志备份。

备份设备

创建备份时,必须选择存放备份数据的备份设备,即存放备份的存储介质。备份设备可以是磁盘、磁带、命名管道。当建立一个备份设备是要分配一个逻辑名和一个物理名。

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。EXECsp_addumpdevice'disk','sales_backup','d:\sales_backup.bak'可以使用系统存储过程sp_dropdevice删除备份设备。例12-2下面的示例删除上例创建的备份设备。EXECsp_dropdevice'sales_backup'12.2备份操作

使用企业管理器备份数据库

(1)打开“企业管理器”,展开服务器组,然后展开服务器。(2)展开“数据库”文件夹,右击需要的数据库,选择“所有任务”子菜单,然后单击“备份数据库”,打开“SQLServer备份”对话框,如图12-2所示。

图12-2

SQLServer备份对话框

(3)在“名称”框内,输入备份名称。在“描述”框中输入对备份集的描述。也可以不填写描述框。(4)在“备份”选项下单击“数据库—完全”。或者选择其他的备份类型。(5)在“目的”选项下,指定备份存放的位置。单击“添加”可以添加备份文件或备份设备,如图12-3所示。(6)在“重写”选项下,单击“追加到媒体”,将备份追加到当前备份设备的内容之后;单击“重写现有媒体”,将重写备份设备中备份内容,即原来的内容被覆盖。(7)选择“调度”复选框确定备份操作执行的时间,也可以直接单击“确定”按钮,立即执行备份操作。图12-3选择备份目的对话框使用Transact-SQL语句备份数据库

语法形式如下:

BACKUPDATABASEdatabase_name

TObackup_device[WITH[INIT|NOINIT]

[[,]DIFFERENTIAL]]init:选项表示重写备份集的数据。Noinit:选项表示备份数据将追加在原有的内容之后,NOINIT是默认设置。Differential:选项表示差异备份。例12-3下例为sales数据库创建一个完全数据库备份和一个差异数据库备份。BACKUPDATABASEsalesTOsales_backupWithinitGOBACKUPDATABASEsalesTOsales_backupwithdifferentialGO使用BACKUPlog命令可以对数据库进行事务日志备份语法形式如下:BACKUPLOGdatabase_nameTObackup_device例12-4下例为sales数据库创建一个事务日志备份。BACKUPLOGsalesTOsales_backup12.3恢复操作

恢复数据库是加载备份并应用事务日志重建数据库的过程。在数据库的恢复过程中,用户不能进入数据库,即数据库是不能使用的。一般而言,总是设置该数据库中“单用户”选项为真来限制用户访问要恢复的数据库。

SQLServer中进行数据库恢复,可以使用企业管理器和Transact-SQL语句。使用企业管理器恢复数据库(1)打开“企业管理器”,展开服务器组,然后展开服务器。(2)展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令。弹出“还原数据库”对话框,如图12-4所示。

(3)在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称还原数据库,请输入新的数据库名称。(4)单击“数据库”,在“要还原的第一个备份”列表中,选择要还原的备份集。如果要将一个服务器上的数据库备份恢复到另一个服务器上,应选择“从设备”还原。(5)在“还原”列表中,单击要还原的数据库备份。(6)单击“选项”选项卡,根据需要进行各选项的设置,如图12-5所示。

(7)单击“确定”按钮开始恢复数据库。

图12-4还原数据库对话框

图12-5还原数据库对话框“选项”选项卡使用Transact-SQL语句恢复数据库语法形式如下:

RESTOREDATABASEdatabase_name

FROMbackup_device[WITH[FILE=]

[[,]{NORECOVERY|RECOVERY|STANDBY=undo_}]]

其中:FILE=:标识要还原的备份集。例如,

为1表示备份媒体上的第一个备份集,

为2表示第二个备份集。NORECOVERY:表示还原操作不回滚任何未提交的事务。如果需要恢复另一个事务日志,则必须指定NORECOVERY或STANDBY选项。如果NORECOVERY、RECOVERY和STANDBY均未指定,则默认为RECOVERY。当还原数据库备份和多个事务日志时,或在需要多个RESTORE语句时(例如在完整数据库备份后进行差异数据库备份),SQLServer要求在除最后的RESTORE语句外的所有其它语句上使用WITHNORECOVERY选项。RECOVERY:表示还原操作回滚任何未提交的事务。在恢复后即可使用数据库。只有在最后一步恢复是使用。例12-4:从sales_backup备份设备中还原完全数据库备份后还原差异备份。RESTOREDATABASEsalesFROMsales_backupWITHNORECOVERY

RESTOREDATABASEsalesFROMsales_buckupWITHFILE=212.4恢复数据库的其他方法

数据库的脱机和联机

具体操作步骤如下:(1)打开“企业管理器”,展开服务器组,然后展开服务器。(2)展开“数据库”文件夹,右击Pubs数据库,指向“所有任务”子菜单,然后单击“脱机”命令。(3)在Pubs数据库旁出现“脱机”两字,操作完成。这时可以对Pubs的数据库文件进行复制。脱机的数据库要恢复使用,则使用联机操作。分离和附加数据库

SQLServer2000允许分离数据库的数据文件和事务日志文件,然后将其重新附加到另一台服务器,甚至同一台服务器上。如果想将数据库从一台计算机移到另一台计算机或者从一个物理磁盘移到另一物理磁盘上,则分离和附加数据库很有用:一般是先分离数据库;然后将数据库文件移到另一服务器或磁盘;最后通过指定移动文件的新位置附加数据库。当附加在数据库时,必须指定主数据文件的名称和物理位置。

12.5数据的导入和导出

在实际工作中我们的数据可能存储在Excel、Access、Sybase、Oracle等数据库中,用户有时需要在SQLServer中利用这些数据,这就需要一种工具能够将数据转换到SQLServer中。SQLServer提供了一种很容易的把数据从一个SQLServer数据库或非SQLServer数据库传输到一个SQLServer数据库的方法,这就是使用数据传输服务(DataTransformationServices,DTS)。通过DTS用户可以进行不同数据源之间数据的导入、导出和转换。

数据的导入

例12-6将Excel表中的数据导入SQLServer中的mydb数据库中。具体操作步骤如下:(1)打开“企业管理器”,展开服务器组,然后展开服务器。(2)右击“数据库”,选择“所有任务”中的“导入数据”,弹出“数据转换服务导入/导出向导”。(3)单击“下一步”,出现“选择数据源”对话框,在“数据源”下拉列表框中选择“MicrosoftExcel97-2000”,如图12-9所示对话框。在“文件名”框中选择需要导入的文件的路径和文件名。图12-9导入/导出选择数据源对话框图12-10选择目的

(4)单击“下一步”,出现如图12-10所示对话框。选择目的,在数据库框中选择mydb。图12-11选择方式

(5)单击“下一步”,选中“从源数据复制表和视图”,如图12-11所示对话框。图12-12选择表和视图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论