12数据的备份剖析课件_第1页
12数据的备份剖析课件_第2页
12数据的备份剖析课件_第3页
12数据的备份剖析课件_第4页
12数据的备份剖析课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

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

2023/10/51第12章数据库的备份和恢复学习要点:备份的概念备份的类型数据库备份的方法恢复数据库的方法数据的导入和导出2023/10/52第12章数据库的备份和恢复

备份概述1

备份操作

2

恢复操作

3

恢复数据库的其他方法4

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

何时进行备份,取决于所能承受数据损失的大小和数据变化的程度。执行备份操作必须拥有数据库备份的权限——系统管理员、数据库所有者、数据库备份执行者。2023/10/5412.1.2备份类型

SQLServer2005支持的备份类型有六种:完整数据库备份差异数据库备份部分备份部分差异备份事务日志备份文件和文件组备份2023/10/551.完整数据库备份备份数据库中当前所有的数据,包括事务日志。与差异备份和事务日志备份相比,完整数据库备份使用的存储空间多,完成备份操作需要的时间长,所以完整数据库备份的创建频率通常比差异备份或事务日志备份低。完整数据库备份适用备份容量较小或数据库中数据的修改较少的数据库。完整数据库备份时差异备份和事务日志备份的基准。2.差异数据库备份备份自上次完整数据库备份以来更改的数据。差异数据库备份比完整数据库备份小而且备份速度快,因此可以经常地备份;经常备份将减少丢失数据的危险。差异数据库备份适合于修改频繁的数据库。2023/10/563.部分备份部分备份与完整数据库备份类似,但是部分备份不包含所有文件组。部分备份只备份主文件组、所有读写文件组以及任何选择指定的只读文件或文件组中的所有完整数据。只读数据库的部分备份仅包含主文件组。部分备份通常应用于在最后一次完整数据库备份后,拥有一个或多个只读文件组的情况,对包含一些只读文件组的数据库的备份工作提供了灵活性。

4.部分差异备份部分差异备份仅备份自上一次部分备份以来文件组中发生更改的数据。部分差异备份比部分备份小而且备份速度快。部分差异备份只与部分备份一起使用。2023/10/575.事务日志备份备份自上次备份以来数据变化的过程,即事务日志文件的信息。其中的上次备份可以是完整数据库备份、差异数据库备份或事务日志备份。每个事务日志备份都包括创建备份时处于活动状态的部分事务日志,以及先前事务日志备份中未备份的所有日志记录。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点。6.文件和文件组备份适合于特大型数据库,因为一个很大的数据库要进行完全数据库备份需要很长的时间,那么可以将数据库的文件和文件组分别进行备份。使用文件和文件组备份可以只还原损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。文件和文件组的备份又可以分为完整文件和文件组备份以及差异文件和文件组备份。2023/10/5812.1.3数据恢复及恢复模型

备份后如果数据库发生了意外,一般应遵循如下的步骤进行恢复:1)如果当前日志没有损坏,首先备份事务日志。2)恢复最近的完整数据库备份。3)恢复最近的差异备份(如果进行过差异备份)。4)依次恢复自差异备份以后的所有事务日志备份(按备份的先后顺序恢复)。2023/10/59SQLServer2005提供了三种恢复模型,以确定如何备份数据以及能承受何种程度的数据丢失。简单恢复完全恢复大容量日志记录恢复2023/10/5101.简单恢复模式简单恢复模式可最大程度地减少事务日志的管理开销,事务日志自动截断,在此模式下不能进行事务日志备份。因此,使用简单恢复模式只能将数据库恢复到最后一次备份时的状态,无法将数据库还原到故障点或特定的即时点。在简单恢复模式下只能进行完整备份和差异备份。

2023/10/5112.完全恢复模式完全恢复模式完整记录所有事务,因此能提供将数据库恢复到故障点或特定即时点的能力。在完全恢复模式下可以进行各种备份。3.大容量日志恢复模式大容量日志恢复模式简单的记录大容量操作的日志(如索引创建和大容量加载),完整地记录其他日志。大容量日志恢复模式提高了大容量操作的能力,常作为完全恢复模式的补充。2023/10/51212.1.4备份设备创建备份时,必须选择存放备份数据的备份设备,即存放备份的存储介质。备份设备可以是磁盘或磁带。当建立一个备份设备时要分配一个逻辑名称和一个物理名称。物理名称是操作系统用来标识备份设备的名称;逻辑名称是用户定义的,用来标识物理备份设备的别名。1.使用SQLServerManagementStudio创建备份设备2023/10/5132.使用系统存储过程sp_addumpdevice创建备份设备

sp_addumpdevice'device_type','logical_name',

'physical_name'其中:device_type:是指备份设备类型,磁盘:disk;磁带:tape。logical_name:备份设备的逻辑名称。physical_name:备份设备的逻辑名称,包含完整路径。2023/10/514备份设备添加实例例12.1本示例添加一个名为sales_backup的磁盘备份设备,其物理名称为D:\sales_backup.bak。

EXECsp_addumpdevice'disk','sales_backup','d:\sales_backup.bak'可以使用系统存储过程sp_dropdevice删除备份设备。例12.2下面的示例删除12.1创建的备份设备。

EXECsp_dropdevice'sales_backup'

2023/10/51512.2备份操作12.2.1使用SQLServerManagementStudio备份数据库2023/10/51612.2.2使用Transact-SQL语句备份数据库

1.使用BACKUPDATABASE

命令进行完整数据库备份和差异数据库备份

BACKUPDATABASEdatabase_nameTO<backup_device>[WITH[INIT|NOINIT]

[[,]DIFFERENTIAL]]DIFFERENTIAL:该选项表示进行差异数据库备份。

backup_device:指定用于备份操作的备份设备,可以是逻辑名称或物理名称。如果是物理名称,要输入完整的路径和文件名。如:DISK=’d:\BACKUP\mybackup.bak’。INIT:该选项表示重写备份集的数据。NOINIT:该选项表示备份数据将追加在原有的内容之后,NOINIT是默认设置。2023/10/51712.2备份操作例12.3本例为sales数据库创建一个完全数据库备份和一个差异数据库备份,将备份保存到sales_backup备份设备上。

BACKUPDATABASEsalesTOsales_backup

WithinitGO

BACKUPDATABASEsalesTOsales_backup

withdifferentialGO2023/10/5182.使用BACKUPLOG命令进行事务日志备份

BACKUPLOGdatabase_nameTObackup_device例12.4本例为sales数据库创建一个事务日志备份。BACKUPLOGsalesTOsales_backup2023/10/51912.3恢复操作恢复数据库是加载备份并应用事务日志重建数据库的过程。在数据库的恢复过程中,用户不能进入数据库,即数据库是不能使用的。恢复数据库时,SQLServer自动执行安全性检查,防止用户从不完整、不正确的备份或其他数据库备份恢复数据库。在恢复数据库之前,必须保证备份文件是正确的。在SQLServer中,可以使用图形化界面和Transact-SQL语句进行数据库恢复。12.3.1使用SQLServerManagementStudio恢复数据库2023/10/52012.3.2使用Transact-SQL语句恢复数据库RESTOREDATABASE

database_name

FROMbackup_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语句时(例如在完整数据库备份后进行差异数据库备份),SQLServer要求在除最后的RESTORE语句外的所有其他语句上使用WITHNORECOVERY选项。RECOVERY:表示还原操作回滚任何未提交的事务,在恢复后即可使用数据库。只有在最后一步恢复时使用。2023/10/52112.3恢复操作例12.5:从sales_backup备份设备中还原完全数据库备份后还原差异数据库备份。

RESTOREDATABASEsalesFROMsales_backup

WITHNORECOVERYGo

RESTOREDATABASEsales

FROMsales_buckupWITHFILE=2Go2023/10/52212.4脱机与联机数据库如果需要暂时关闭某个数据库的服务,用户可以通过选择脱机的方式来实现。脱机后,在需要时可以对暂时关闭的数据库通过联机操作的方式重新启动服务。下面分别介绍如何实现数据库的脱机与联机操作。2023/10/523

12.4.1脱机数据库选择脱机数据库2023/10/524使数据库脱机2023/10/525

12.4.2联机数据库选择联机数据库2023/10/526使数据库联机2023/10/52712.5分离和附加数据库分离和附加数据库的操作可以将数据库从一台计算机移到另一台计算机,而不必重新创建数据库。2023/10/528除了系统数据库以外,其他数据库都可以从服务器的管理中分离出来,脱离服务器管理的同时保持数据文件和日志文件的完整性和一致性。分离后的数据库又可以根据需要重新附加到数据库服务器中。2023/10/529

12.5.1分离数据库分离数据库不是删除数据库,它只是将数据库从服务器中分离出去。2023/10/530分离数据库2023/10/531分离数据库2023/10/53212.5.2附加数据库与分离操作相对应的就是附加操作,它可以将分离的数据库重新附加到服务器中,也可以附加其他服务器组中分离的数据库。但在附加数据库时必须指定主数据文件(MDF文件)的名称和物理位置。2023/10/533附加数据库2023/10/534附加数据库2023/10/53512.6导入和导出数据表

SQLServer2005提供了强大的数据导入导出功能,它可以在多种常用数据格式(数据库、电子表格和文本文件)之间导入和导出数据,为不同数据源间的数据转换提供了方便。2023/10/53612.7脚本脚本是存储在文件中的一系列SQL语句,是可再用的模块化代码。用户通过“SQLServerManagementStudio”工具可以对指定文件中的脚本进行修改、分析和执行。2023/10/537

12.7.1将数据库生成脚本数据库在生成脚本文件后,可以在不同的计算机之间传送。2023/10/538编写脚本模式2023/10/539生成脚本2023/10/540

12.7.2将数据表生成脚本除了将数据库生成脚本文件以外,用户还可以根据需要将指定的数据表生成脚本文件。2023/10/541编写脚本模式2023/10/542生成脚本2023/10/54312.7.3执行脚本脚本文件生成以后,用户可以通过“SQLServerManagementStudio”工具对指定的脚本文件进行修改,然后执行该脚本文件。2023/10/544脚本文件2023/10/545小结SQLServer2005的备份和恢复的相关知识;备份类型、备份设备的创建、通过图形界面和Transact-SQL语句进行备份和恢复的具体操作的方法,数据的导入和导出等内容。

温馨提示

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

评论

0/150

提交评论