29
13 第 第第第第第 13.1 第第第第第 13.2 第第第第第 13.3 第第第第 13.4 第第第第 13.5 第第第第第第第

第 13 章 备份与恢复

Embed Size (px)

DESCRIPTION

第 13 章 备份与恢复. 13.1 备份的概念 13.2 备份数据库 13.3 恢复概述 13.4 本章总结 13.5 思考与实训练习. 学习目的: 通过本章学习,你能够学到: 1 .数据库备份和恢复的基本概念。 2 .使用企业管理器和系统存储过程规划和执行备份操作。 3 .使用企业管理器和系统存储过程规划和执行恢复操作。. 13.1 备份的概念. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 13 章 备份与恢复

第13章 备份与恢复

13.1备份的概念 13.2备份数据库 13.3恢复概述 13.4本章总结 13.5思考与实训练习

Page 2: 第 13 章 备份与恢复

学习目的: 通过本章学习,你能够学到: 1 .数据库备份和恢复的基本概念。 2 .使用企业管理器和系统存储过程规划和

执行备份操作。 3 .使用企业管理器和系统存储过程规划和

执行恢复操作。

Page 3: 第 13 章 备份与恢复

13.1 备份的概念

备份就是对 SQL Server 数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。备份是恢复受损数据库最容易,把意外损失降低到最小的保障方法。没有备份,所有的数据都可能会丢失。

Page 4: 第 13 章 备份与恢复

SQL Server 2000 提供了四种备份方式: (一)完全数据库备份( Dadabase-complete ):是指对

数据库的完整备份,包括所有的数据及数据库对象。所有未完成的事务或者发生在备份过程中的事务都不会被备份。

(二)差异备份或称增量备份( Dadabase-differential ):是指将最近一次数据库备份以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。与完整数据库备份相比,差异备份由于备份的数据量较小,所以备份和恢复所用的时间较短。

(三)事务日志备份( Transaction log ):是指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。

(四)数据库文件和文件组备份( File and filegroup ):是指对数据库文件或文件夹进行备份,但不像完整的数据库备份那样,同时也进行事务日志备份。

Page 5: 第 13 章 备份与恢复

13.2 备份数据库 13.2.1创建备份设备

13.2.2 删除备份设备

13.2.3 备份数据库

Page 6: 第 13 章 备份与恢复

13.2.1 创建备份设备

在进行备份以前首先必须指定或创建备份设备,备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质,备份设备可以是硬盘、磁带或管道。当使用磁盘时, SQL Server 允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。

Page 7: 第 13 章 备份与恢复

创建备份设备有两种方法 :

一是使用 SQL Server 企业管理器创建备份设备

二是使用系统存储过程创建备份设备。下面将分别通过具体实例加以介绍。

Page 8: 第 13 章 备份与恢复

操作步骤:

Page 9: 第 13 章 备份与恢复

2. 使用系统存储过程创建备份设备在 SQL Server 中,可以使用 sp_addumpd

evice 语句创建备份设备。[ 实例 13.2] 使用系统存储过程在本地磁盘上

为学生库创建一个备份设备 backup_ 学生。

Page 10: 第 13 章 备份与恢复

操作步骤: 启动查询分析器,输入如下 SQL 语句:use 学生库go

exec sp_addumpdevice 'disk', 'backup_ 学生 ', 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\bk_ 学生 .bak'

go

Page 11: 第 13 章 备份与恢复

按“ F5” 键或单击工具栏“执行查询”图标执行。

Page 12: 第 13 章 备份与恢复

我们在这里给出其命令格式如下: sp_addumpdevice [@devtype=] ‘device_type’, [@logicalname=]’logical_name’, [@physicalname=]’physical_name’, [,{ [@cntrltype=]controller_type | [@devstatus=]’device_status’ } ] 命令格式说明: @devtype 表示设备类型,其值可以为 disk , pipe , tape 。 @logicalname 表示设备的逻辑名称。 @physicalname 表示设备的实际名称。 @cntrltype 不同的取值代表不同的含义。 2 表示磁盘, 5 表示磁

带, 6 表示管道。 @devstatus 表示设备状态,有两个选项: skip 和 noskip 。

Page 13: 第 13 章 备份与恢复

13.2.2 删除备份设备 删除备份设备与创建的过程类似,只须在企业管理

器中选中要删除的备份设备,在弹出的菜单中选择删除选项即可删除该备份设备。或者使用 sp_dropdevice 语句来删除备份设备。其语法如下:

sp_dropdevice [‘logical_name’][,’delfile’] 其中 logical_name 表示备份设备的逻辑名, delfile

表示相对应的实体文件。当执行该存储过程时, delfile 选项必须给出,否则备份设备相对应的实体文件仍旧存在。

例如删除例 13.2 创建的备份设备可使用如下语句实现:

sp_dropdevice ‘backup_ 学生’ ,‘C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\bk_ 学生 .bak’ 

Page 14: 第 13 章 备份与恢复

13.2.3 备份数据库

SQL Server 系统提供了三种数据库备份操作的方法:

一是 SQL Server 企业管理器 二是备份向导 三是 Transact-SQL 语句。下面将分别做以介绍。

Page 15: 第 13 章 备份与恢复

1 、使用企业管理器进行数据库备份 [ 实例 13.3] 使用企业管理器对学生库进

行完全备份。

Page 16: 第 13 章 备份与恢复

2 、使用备份向导进行数据库备份 这种方法与前面介绍的使用企业管理器的

方法大体相似,进入备份向导也是通过企业管理器,在企业管理器的界面中选择 “工具”下拉菜单,在其中选择“向导”选项,在弹出的菜单中选择“管理”节点展开,选择“备份向导”,单击确定,则用户就可以根据向导去完成数据库备份工作,其中的一些选项设置与上例中相同,在此就不再赘诉。

Page 17: 第 13 章 备份与恢复

3 、使用 Transact-SQL 语句进行数据库备份 进行备份数据库的简单语句如下: BACKUP DATABASE database_name TO backup_device_name[,…n] [WITH DIFFERENTIAL] 其中, WITH DIFFERENTIAL 表示增量备份。 例如:将学生库备份到 backup_ 学生设备中,可用

如下语句实现: BACKUP DATABASE 学生库 TO backup_ 学生 GO

Page 18: 第 13 章 备份与恢复

进行日志备份的语法如下: BACKUP LOG database_name TO backup_device_name[,…n] [WITH NO_TRU

NCATE] 其中, WITH NO_TRUNCATE 表示在完成事务日

志备份后,并不清空原有日志的数据。这个可选项可以用在当数据库遭到损坏或数据库被标识为可疑时进行日志的备份。

例如:备份学生库的日志文件到 backuplog_ 学生设备中,可用如下语句实现:

BACKUP LOG 学生库 TO backuplog_ 学生 GO

Page 19: 第 13 章 备份与恢复

13.3 恢复概述

数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。数据库恢复是指将数据库备份加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。实现数据库的恢复可以通过企业管理器,也可以使用 T-SQL 语句来实现。

Page 20: 第 13 章 备份与恢复

13.3.1 使用企业管理器恢复数据库

[ 实例 13.4] 使用企业管理器恢复已经备份的学生库。

Page 21: 第 13 章 备份与恢复

13.3.2 使用 Transact-SQL 语句恢复数据库

[ 实例 13.5]: 从 backup_ 学生备份设备中恢复数据库学生库,将其恢复到学生库 1 中。

Page 22: 第 13 章 备份与恢复

T-SQL 语句提供了 RESTORE 命令进行恢复操作,其语法形式如下: Restore database [from <backup_device> [,…n]] [with [[,]file=file_number] [[,]move ‘logical_file_name’ to ‘operating_system_file_name’] [[,]replace] [[,]{norecovery|recovery|standby=undo_file_name}] ] 命令说明,这里仅给出几个主要参数的说明,其他部分可参考联机丛书。 File :表示恢复具有多个备份子集的备份介质中的那个备份子集。 Move :表示把备份的数据库文件恢复到系统的某一位置缺省条件下,

恢复到备份时的位置。 Norecovery :表示恢复操作不回滚任何未提交的事务 Recovery :表示回滚所有未提交的事务,在恢复结束后数据库就可以

使用。 Standby :表示数据库操作的 UNDO 文件。

Page 23: 第 13 章 备份与恢复

13.4 本章总结

(1) 本章介绍了备份数据库的必要性。备份就是对SQL Server 数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。

( 2 ) SQL Server 2000 提供了四种备份方式分别是完全数据库备份;差异备份或称增量备份;

事务日志备份;数据库文件和文件组备份。每种备份方式都具有各自的特点。

Page 24: 第 13 章 备份与恢复

( 3 )介绍了备份数据库的过程,创建和删除备份设备的方法,可以使用企业管理器也可以使用 T-SQL 语句来实现。然后进行数据库的备份操作,介绍了三种方法:企业管理器,备份向导和 T-SQL语句。

( 4 )本章还介绍了数据库恢复的必要性。数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。数据库恢复是指将数据库备份加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。

Page 25: 第 13 章 备份与恢复

13.5 思考与实训练习

13.5.1 思考题 1 .什么是数据库备份,有那几种类型? 2 .为什么要进行数据库的备份与恢复? 3 .创建备份设备的方法有哪些? 4 .如何备份一个数据库? 5 .恢复数据库有那几种方法? 6 .如何恢复数据库?

Page 26: 第 13 章 备份与恢复

13.5.2 实训 1 、实训目的 ( 1 )掌握 SQL Server 2000 中创建删除备份设备的方法,以及备份

和恢复数据库的方法。 ( 2 )掌握使用企业管理器和 T-SQL 语句两种方法进行备份和恢复。 2 、实训环境 SQL Server 2000 的企业管理器和查询分析器。 3 、实训内容 ( 1 )使用企业管理器对 Northwind 数据库进行备份。 ①通过企业管理器创建一个备份设备 NT-bak 。 ②该设备的物理文件路径为 D 盘 North 文件夹,文件名为 NT-bak.ba

k 。 ③使用企业管理器对该数据库进行完全备份,对数据库的描述为“第

一次备份”。 ④将该数据库备份到 NT-bak 的设备上。 ⑤指定在每次启动 SQL Server Agent服务时对 Northwind 数据库进

行备份。

Page 27: 第 13 章 备份与恢复

( 2 )使用 T-SQL 语句对 pubs 数据库进行备份。 ①使用 T-SQL 语句创建一个 disk 类型的备份设备 pub-ba

k 。 ②该设备的物理文件为 D 盘 pubs 文件夹中的 pub-bak.b

ak 。 ③在 pubs 数据库中创建一个表格 mytest 。 ④使用 T-SQL 语句对该数据库进行增量备份。 ⑤将该数据库备份到 pub-bak 的设备上。 ( 3 )使用企业管理器对 Northwind 数据库进行恢复,比

较恢复前后的不同。 ①在 Northwind 数据库中创建一个表格名为 test 。 ②将实验( 1 )中的关于该数据库的备份恢复到 Northwi

nd 数据库中。 ③比较恢复前后 Northwind 数据库的不同

Page 28: 第 13 章 备份与恢复

( 4 )使用 T-SQL 语句对 pubs 数据库进行恢复。 ①使用 T-SQL 语句将实验( 2 )中的关于该数据库的备

份恢复到 pubs 数据库中。 ②在查询分析器中观察执行后的消息框中,对该操作所有

的时间。 ③将实验( 2 )中的 pubs 数据库进行完全备份。 ④使用 T-SQL 语句将③中的关于该数据库的备份恢复到

pubs 数据库中。 ⑤在查询分析器中观察执行后的消息框中,对该操作所有

的时间与②进行比较,观察所进行操作描述的异同。 4. 实训要求 ( 1 )将实训 3 的内容在 SQL Server 2000环境中调试成功,并将编写的程序调试、运行正确成功后,存入磁盘中。

( 2 )每次实训后,总结一下实训的重点内容和应注意的问题,并写成实训报告的形式上交。

Page 29: 第 13 章 备份与恢复

( 5 )如何进行数据库恢复,本章介绍了两种方式:企业管理器和 T-SQL 语句。

( 6 )在进行数据库的备份和还原过程中,还有一些参数设置的细节问题,这些需要读者练习的过程中来熟悉。