第11章数据库的备份和还原_第1页
第11章数据库的备份和还原_第2页
第11章数据库的备份和还原_第3页
第11章数据库的备份和还原_第4页
第11章数据库的备份和还原_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第11章数据库的备份和恢复本章学习目标了解SQLServer2005中数据库备份的分类及特点了解备份设备的概念掌握备份设备的创建、查看、删除方法掌握使用SQLServer管理控制台进行备份的方法本章学习目标掌握使用Transact-SQL语句进行备份的方法掌握使用SQLServer管理控制台进行备份还原的方法掌握使用Transact-SQL语句进行备份还原的方法11.1数据库的备份11.1.1概述备份是从数据库中保存数据和日志,以备将来使用。在备份过程中,数据从数据库复制并保存到另外一个位置,备份操作可以在数据库正常运转时进行。

数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其还原。执行备份操作必须拥有对数据库备份的权限许可,SQLServer只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。11.1.1概述数据备份的范围可以是完整的数据库、部分数据库或者一组文件或文件组。对于这些范围,SQLServer均支持完整和差异两种备份方式:完整备份:完整备份包括特定数据库(或者一组特定的文件组或文件)中的所有数据,以及可以还原这些数据的足够的日志。差异备份:差异备份基于数据的最新完整备份。差异备份仅包括自最新完整备份后发生更改的数据。使用差异备份可以加快进行频繁备份的速度,从而降低数据丢失的风险。11.1.1概述SQLServer2005对所要备份内容的选项设置,提供了以下不同的方式,它们分别为:(1)数据库备份数据库备份提供以下两种方式:完整数据库备份:整个数据库的完整备份。差异数据库备份:数据库中所有文件的备份。此备份只包含自每个文件的最新数据库备份之后发生了修改的数据区。11.1.1概述(2)部分备份是SQLServer2005中的新增功能。所有还原模式都支持部分备份。部分备份为在简单还原模式下对包含一些只读文件组的数据库的备份工作提供了更多的灵活性。部分备份:备份主文件组、所有读/写文件组以及任何选择指定的只读文件或文件组中的所有完整数据。只读数据库的部分备份仅包含主文件组。部分差异备份:这种备份仅包含自同一组文件组的最新部分备份以来发生了修改的数据区。11.1.1概述(3)文件和文件组备份可以分别备份和还原数据库中的文件。使用文件备份能够只还原损坏的文件,而不用还原数据库的其余部分,从而加快了还原速度。SQLServer支持下列类型的文件备份:完整文件备份:一个或多个文件或文件组中所有数据的完整备份。在简单还原模式下,文件备份基本上仅限于只读辅助文件组。差异文件备份:一个或多个文件的备份,包含自每个文件的最新完整备份之后发生了更改的数据区。11.1.1概述(4)事务日志备份在完整还原模式或大容量日志还原模式下,需要定期进行事务日志备份。每个日志备份都包括创建备份时处于活动状态的部分事务日志,以及先前日志备份中未备份的所有日志记录。在创建第一个日志备份之前,必须先创建一个完整备份(如数据库备份)。11.1.2备份设备在进行备份以前首先必须创建或指定备份设备。备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质,可以是硬盘、磁带或管道。当使用磁盘时,SQLServer允许将本地主机硬盘和远程主机上的硬盘作为备份设备。备份设备在硬盘中是以文件的方式存储的。创建和删除备份设备可以用两种方法:使用SQLServer管理控制台和执行系统存储过程sp_addumpdevice。11.1.2备份设备1.使用SQLServer管理控制台管理备份设备(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,展开“服务器对象”。(2)右击服务器对象中的“备份设备”。(3)在弹出的快捷菜单中选择“新建备份设备”选项。11.1.2备份设备例12-1-1:创建一个名为“MyDevice1”的备份设备,并将其映射成为磁盘文件“E:\DATA\MyDevice1.BAK”。步骤如下:步骤一:在SQLServer管理控制台中展开服务器组,展开指定的服务器,展开“服务器对象”。步骤二:右击服务器对象中的“备份设备”,在弹出的快捷菜单中选择“新建备份设备”选项,打开“备份设备”对话框。步骤三:在“备份设备”对话框中,设备名称处输入“MyDevice1”,并单击“文件”右部的按钮,打开“定位数据库文件”对话框,在对话框中选择E盘的DATA文件夹,并在窗口下部的“文件名”框中输入“MyDevice1.BAK”,单击“确定”按钮。步骤四:在“备份设备”对话框中单击“确定”按钮,就创建了备份设备“MyDevice1”,在SQLServer管理控制台中可看到此备份设备名称。11.1.2备份设备对于一个已存在的备份设备,可以双击备份设备名称或右击设备名并选择“属性”来查看其属性。如果该备份设备已被用来备份过数据库,则单击备份设备属性框中的“媒体内容”选项页来查看该备份设备中的内容。如果要删除一个备份设备,可以右击指定设备,在弹出的快捷菜单中选择“删除”选项。11.1.2备份设备2.使用Transact-SQL语句创建、删除备份设备其语法形式如下:sp_addumpdevice{‘device_type’}[,’logical_name’][,’physical_name’][,{{controller_type|’device_status’}}]11.1.2备份设备参数:device_type表示设备类型,其值可为disk,pipe和tape。

disk:硬盘文件作为备份设备。 pipe:命名管道。Tape:由MicrosoftWindowsNT®支持的任何磁带设备。

logical_name表示设备的逻辑名称。physical_name表示设备的实际名称。controller_type和device_status可以不必输入。[@cntrltype=]controller_type:当创建备份设备时,该参数并不是必需的。为脚本提供该参数比较合适,然而SQLServer会将其忽略。controller_type的数据类型为smallint,默认值为NULL,可以是下列值之一。 2:当device_type为disk时使用。 5:当device_type为tape时使用。 6:当device_type为pipe时使用。[@devstatus=]‘device_status’:指明是读取(noskip)ANSI磁带标签,还是忽略(skip)它。说明:

可以指定controller_type或device_status,但二者不要同时指定。11.1.2备份设备例12-1-2:新建一个名为“MyDevice2”的备份设备并将其映射成为磁盘文件“E:\DATA\MyDevice2.BAK”。程序清单如下:EXECsp_addumpdevice'disk','MyDevice2‘,'E:\DATA\MyDevice2.BAK'11.1.3使用SQLServer管理控制台进行备份(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,右击要进行备份的数据库,并依次选择“任务|备份”选项。(2)会打开“备份数据库-STUDENT”对话框。(3)在“常规”选择页中,选择备份数据库的名称、备份类型、备份组件以及备份集的名称;在“目的-备份到”一栏,可以选择用于备份的介质,单击“添加”按钮可以添加备份文件或设备。11.1.3使用SQLServer管理控制台进行备份(4)设置好所需选项后单击“确定”按钮,则备份立刻开始。备份结束后会出现备份是否成功的提示信息框。11.1.4使用Transact-SQL语句备份数据库使用BACKUP语句执行备份操作。语法如下:BACKUPDATABASE{database_name|@database_name_var}TO<backup_device>[,...n][WITH{DIFFERENTIAL|<general_WITH_options>[,...n]}][;]<backup_device>::={{logical_device_name|@logical_device_name_var}|{DISK|TAPE}={'physical_device_name'|@physical_device_name_var}}11.1.4使用Transact-SQL语句备份数据库<general_WITH_options>[,...n]::=--BackupSetOptionsCOPY_ONLY|DESCRIPTION={'text'|@text_variable}|NAME={backup_set_name|@backup_set_name_var}|PASSWORD={password|@password_variable}|[EXPIREDATE={date|@date_var}|RETAINDAYS={days|@days_var}]|NO_LOG11.1.4使用Transact-SQL语句备份数据库参数说明:DATABASE:指定一个完整数据库备份。{database_name|@database_name_var}:备份时所用的源数据库。<backup_device>:指定用于备份操作的逻辑备份设备或物理备份设备。{logical_device_name|@logical_device_name_var}:数据库要备份到的备份设备的逻辑名称。{DISK|TAPE}={'physical_device_name'|@physical_device_name_var}:指定磁盘文件或磁带设备。11.1.4使用Transact-SQL语句备份数据库WITH选项:指定要用于备份操作的选项。DIFFERENTIAL:指定备份应该只包含上次完整备份后更改的数据库或文件部分。DESCRIPTION={'text'|@text_variable}:指定说明备份集的自由格式文本。NAME={backup_set_name|@backup_set_var}:指定备份集的名称。PASSWORD={password|@password_variable}:为备份集设置密码。[EXPIREDATE=date|RETAINDAYS=date]:指定允许覆盖该备份的备份集的日期。11.1.4使用Transact-SQL语句备份数据库EXPIREDATE={date|@date_var}:指定备份集到期和允许被覆盖的日期。RETAINDAYS={days|@days_var}:指定必须经过多少天才可以覆盖该备份媒体集。NO_LOG:指定备份将不包含任何日志。例12-1-3:创建一个新的备份设备MyDevice3,并将数据库STUDENT完全备份到MyDevice3上。程序清单如下:USESTUDENTEXECsp_addumpdevice'disk','MyDevice3','E:\DATA\MyDevice3.BAK'GOBACKUPDATABASESTUDENTTOMyDevice3例:将数据库student备份到名称为backup_student的逻辑备份设备上backupdatabasestudenttobackup_student1或:backupdatabasestudent todisk='c:\sqltest\student1.bak'

例:创建了一个数据库和日志的完整备份。将数据库备份到称为teacher1的逻辑备份设备上,然后将日志备份到称为teacherLog的逻辑备份设备上。EXECsp_addumpdevice'disk',‘teacher1', ‘c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\teacher1.dat'EXECsp_addumpdevice'disk','teacherlog', ‘c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\teacherLog.dat‘BACKUPDATABASEteacherTOteacher1BACKUPLOGteacherTOteacherLog11.2数据库的还原数据库还原是指将数据库备份重新加载到系统中的过程。在还原数据库之前,为了限制其他用户对该数据库进行操作,首先要设置数据库访问属性。在SQLServer管理控制台中,右击要还原的数据库,从弹出的快捷菜单中选择“属性”选项,会弹出数据库属性对话框。单击“选项”选择页,并选择窗口右下部的“限制访问”下拉列表框,在其中选择“Single”选项。接下来就可以进行数据库的还原操作了。11.2.1使用SQLServer管理控制台还原数据库(1)在SQLServer管理控制台中展开服务器组,展开指定的服务器,展开“数据库”。(2)右击指定的数据库,在弹出的快捷菜单中依次选择“任务|还原|数据库”选项。(3)会弹出“还原数据库”对话框。(4)参数设置好后,单击“确定”按钮,系统就会开始还原数据库的操作。还原结束后,会显示还原是否成功的提示信息框。11.2.2使用Transact-SQL语句还原数据库使用RESTORE语句还原数据库。语法如下:RESTOREDATABASE{database_name|@database_name_var}[FROM<backup_device>[,...n]][WITH[{STOP_ON_ERROR|CONTINUE_AFTER_ERROR}][[,]FILE={backup_set_file_number|@backup_set_file_number}][[,]{RECOVERY|NORECOVERY|STANDBY={standby_file_name|@standby_file_name_var}}][[,]REPLACE][[,]RESTART][[,]RESTRICTED_USER][[,]STATS[=percentage]]][;]11.2.2使用Transact-SQL语句还原数据库<backup_device>::={{logical_backup_device_name|@logical_backup_device_name_var}|{DISK|TAPE}='physical_backup_device_name'|@physical_backup_device_name_var}}参数说明如下:DATABASE:指定目标数据库。{database_name|@database_name_var}:是将日志或整个数据库还原到的数据库。11.2.2使用Transact-SQL语句还原数据库FROM{<backup_device>[,...n]|<database_snapshot>}:通常指定要从哪些备份设备还原备份。<backup_device>[,...n]:指定还原操作要使用的逻辑或物理备份设备。{logical_backup_device_name|@logical_backup_device_:name_var}:是由sp_addumpdevice创建的备份设备(数据库将从该备份设备还原)的逻辑名称。11.2.2使用Transact-SQL语句还原数据库{DISK|TAPE}={'physical_backup_device_name'|@phys

温馨提示

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

评论

0/150

提交评论