《数据库的备份和恢复.ppt》由会员分享,可在线阅读,更多相关《数据库的备份和恢复.ppt(28页珍藏版)》请在三一办公上搜索。
1、2023/9/11,1,第12章 数据库的备份和恢复,2,2023/9/11,第12章 数据库的备份和恢复,学习要点:备份的概念 备份的类型 数据库备份的方法 恢复数据库的方法 数据的导入和导出,3,2023/9/11,第12章 数据库的备份和恢复,备份概述,1,备份操作,2,恢复操作,3,恢复数据库的其他方法,4,数据的导入和导出,5,4,2023/9/11,12.1备份概述,为什么以及何时备份备份是指数据库管理员定期或不定期地将数据库部分或全部内容复制到磁带或磁盘上保存起来的过程。当数据库遭到破坏时,可以利用备份进行数据库的恢复。备份的目的就是当数据库发生意外时,尽可能的减少数据的丢失。何
2、时进行备份,取决于所能承受数据损失的大小。执行备份操作必须拥有数据库备份的权限。,5,2023/9/11,12.1备份概述,备份类型 SQL Server 2000支持的备份类型有四种:完整数据库备份差异数据库备份 部分备份部分差异备份事务日志备份 文件和文件组备份,6,2023/9/11,12.1备份概述,1完整数据库备份 完整数据库备份是指备份数据库中当前所有的数据,包括事务日志。与差异备份和事务日志备份相比,完整数据库备份使用的存储空间多,完成备份操作需要的时间长,所以完整数据库备份的创建频率通常比差异备份或事务日志备份低。完整数据库备份适用备份容量较小或数据库中数据的修改较少的数据库。
3、完整数据库备份时差异备份和事务日志备份的基准。2差异数据库备份差异数据库备份是指备份自上次完整数据库备份以来更改的数据。差异数据库备份比完整数据库备份小而且备份速度快,因此可以经常地备份;经常备份将减少丢失数据的危险。差异数据库备份适合于修改频繁的数据库。,7,2023/9/11,12.1备份概述,3部分备份部分备份和部分差异备份是 SQL Server 2005新增功能。部分备份与完整数据库备份类似,但是部分备份不包含所有文件组。部分备份只备份主文件组、所有读写文件组以及任何选择指定的只读文件或文件组中的所有完整数据。只读数据库的部分备份仅包含主文件组。部分备份通常应用于在最后一次完整数据库
4、备份后,拥有一个或多个只读文件组的情况,对包含一些只读文件组的数据库的备份工作提供了灵活性。4部分差异备份部分差异备份仅备份自上一次部分备份以来文件组中发生更改的数据。部分差异备份比部分备份小而且备份速度快。部分差异备份只与部分备份一起使用。,8,2023/9/11,12.1备份概述,5事务日志备份事务日志备份是指备份自上次备份以来数据变化的过程,即事务日志文件的信息。其中的上次备份可以是完整数据库备份、差异数据库备份或事务日志备份。每个事务日志备份都包括创建备份时处于活动状态的部分事务日志,以及先前事务日志备份中未备份的所有日志记录。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余
5、数据前的那一点)或恢复到故障点。6文件和文件组备份文件和文件组备份适合于特大型数据库,因为一个很大的数据库要进行完全数据库备份需要很长的时间,那么可以将数据库的文件和文件组分别进行备份。使用文件和文件组备份可以只还原损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。文件和文件组的备份又可以分为完整文件和文件组备份以及差异文件和文件组备份。,9,2023/9/11,12.1备份概述,备份后如果数据库发生了意外,一般应遵循如下的步骤进行恢复:1)如果当前日志没有损坏,首先备份事务日志。2)恢复最近的完整数据库备份。3)恢复最近的差异备份(如果进行过差异备份)。4)依次恢复自差异备份以后的
6、所有事务日志备份(按备份的先后顺序恢复)。,10,2023/9/11,12.1备份概述,恢复模型 SQL Server 2000 提供了三种恢复模型,以确定如何备份数据以及能承受何种程度的数据丢失。简单恢复完全恢复 大容量日志记录恢复,11,2023/9/11,12.1备份概述,1简单恢复模式 简单恢复模式可最大程度地减少事务日志的管理开销,事务日志自动截断,在此模式下不能进行事务日志备份。因此,使用简单恢复模式只能将数据库恢复到最后一次备份时的状态,无法将数据库还原到故障点或特定的即时点。在简单恢复模式下只能进行完整备份和差异备份。2完全恢复模式 完全恢复模式完整记录所有事务,因此能提供将数
7、据库恢复到故障点或特定即时点的能力。在完全恢复模式下可以进行各种备份。3大容量日志恢复模式 大容量日志恢复模式简单的记录大容量操作的日志(如索引创建和大容量加载),完整地记录其他日志。大容量日志恢复模式提高了大容量操作的能力,常作为完全恢复模式的补充。,12,2023/9/11,12.1备份概述,备份设备 创建备份时,必须选择存放备份数据的备份设备,即存放备份的存储介质。备份设备可以是磁盘或磁带。当建立一个备份设备时要分配一个逻辑名称和一个物理名称。物理名称是操作系统用来标识备份设备的名称;逻辑名称是用户定义的,用来标识物理备份设备的别名。1使用SQL Server Management St
8、udio创建备份设备,13,2023/9/11,12.1备份概述,2使用系统存储过程sp_addumpdevice创建备份设备其语法格式如下:sp_addumpdevice device_type,logical_name,physical_name 其中:device_type:是指备份设备类型,磁盘:disk;磁带:tape。logical_name:备份设备的逻辑名称。physical_name:备份设备的逻辑名称,包含完整路径。,14,2023/9/11,12.1备份概述,例12.1 本示例添加一个名为sales_backup 的磁盘备份设备,其物理名称为D:sales_backup.
9、bak。EXEC sp_addumpdevice disk,sales_backup,d:sales_backup.bak 可以使用系统存储过程sp_dropdevice删除备份设备。例12.2 下面的示例删除12.1创建的备份设备。EXEC sp_dropdevice sales_backup,15,2023/9/11,12.2备份操作,使用SQL Server Management Studio备份数据库,16,2023/9/11,12.2备份操作,使用Transact-SQL 语句备份数据库 1使用BACKUP DATABASE 命令进行完整数据库备份和差异数据库备份 BACKUP DA
10、TABASE database_name TO WITH INIT|NOINIT,DIFFERENTIAL DIFFERENTIAL:该选项表示进行差异数据库备份。backup_device:指定用于备份操作的备份设备,可以是逻辑名称或物理名称。如果是物理名称,要输入完整的路径和文件名。如:DISK=d:BACKUPmybackup.bak。INIT:该选项表示重写备份集的数据。NOINIT:该选项表示备份数据将追加在原有的内容之后,NOINIT是默认设置。,17,2023/9/11,12.2备份操作,例12.3 本例为 sales数据库创建一个完全数据库备份和一个差异数据库备份,将备份保存到
11、sales_backup备份设备上。BACKUP DATABASE sales TO sales_backup With init GO BACKUP DATABASE sales TO sales_backup with differential GO,18,2023/9/11,12.2备份操作,2使用BACKUP LOG命令进行事务日志备份 BACKUP LOG database_name TO backup_device例12.4 本例为sales数据库创建一个事务日志备份。BACKUP LOG sales TO sales_backup,19,2023/9/11,12.3恢复操作,恢复
12、数据库是加载备份并应用事务日志重建数据库的过程。在数据库的恢复过程中,用户不能进入数据库,即数据库是不能使用的。当你恢复数据库时,SQL Server自动执行安全性检查,防止你从不完整、不正确的备份或其他数据库备份恢复数据库。在恢复数据库之前,你必须保证备份文件是正确的。在SQL Server中,可以使用图形化界面和Transact-SQL 语句进行数据库恢复。使用SQL Server Management Studio恢复数据库,20,2023/9/11,12.3恢复操作,使用Transact-SQL 语句恢复数据库语法形式如下:RESTORE DATABASE database_name
13、FROM backup_device WITH FILE=file_number,NORECOVERY|RECOVERY|STANDBY=undo_file_name,21,2023/9/11,12.3恢复操作,其中:FILE=file_number:标识要还原的备份集。例如,file_number 为1表示备份媒体上的第一个备份集,file_number为2表示第二个备份集。NORECOVERY:表示还原操作不回滚任何未提交的事务。如果需要恢复另一个事务日志,则必须指定NORECOVERY或STANDBY选项。如果NORECOVERY、RECOVERY 和 STANDBY均未指定,则默认为R
14、ECOVERY。当还原数据库备份和多个事务日志时,或在需要多个RESTORE语句时(例如在完整数据库备份后进行差异数据库备份),SQL Server要求在除最后的RESTORE语句外的所有其他语句上使用 WITH NORECOVERY 选项。RECOVERY:表示还原操作回滚任何未提交的事务,在恢复后即可使用数据库。只有在最后一步恢复时使用。,22,2023/9/11,12.3恢复操作,例12.5:从sales_backup备份设备中还原完全数据库备份后还原差异数据库备份。RESTORE DATABASE sales FROM sales_backup WITH NORECOVERY Go R
15、ESTORE DATABASE sales FROM sales_buckup WITH FILE=2 Go,23,2023/9/11,12.4恢复数据库的其他方法,数据库的脱机和联机分离和附加数据库,24,2023/9/11,12.5数据的导入和导出,数据的导入数据的导出,25,2023/9/11,小结:本章主要介绍了SQL Server2005的备份和恢复的相关知识。讲述了备份类型、备份设备的创建、通过图形界面和Transact-SQL语句进行备份和恢复的具体操作的方法,以及数据的导入和导出等内容。,26,2023/9/11,习题1为什么要进行备份?2SQL Server中备份分为哪几种类型,它们之间有什么区别?3恢复模式的设置对备份有什么影响?4如何创建备份设备?5在BACKUP命令中INIT和NOINIT参数有什么作用?6在RESTORE命令中RECOVERY和NORECOVERY参数有什么作用?7哪些系统数据库必须定期的进行备份?,27,2023/9/11,8下面是某数据库进行备份的时间表,晚上10:00数据库失败,简述怎样恢复数据库才能尽量减少数据的损失。时间 事件 上午8:00 备份数据库 中午 备份日志文件 下午4:00 备份日志文件 下午6:00 备份数据库 晚上8:00 备份日志文件 晚上10:00 数据库失败,2023/9/11,28,谢谢使用,再见!,