实验九:数据库备份及恢复
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验九:数据库备份及恢复
一、实验目的
1.熟悉数据库备份及恢复机制;
2.了解SQL Server的数据备份和恢复机制;
3.掌握SQL-Server中数据库备份和恢复的方法。
二、实验环境
已安装SQL Server 2005 企业版的计算机;
具有局域网环境,有固定IP;
三、实验学时
2学时
四、实验要求
1.了解创建备份设备和进行数据库完全备份操作的方法;
2.了解进行数据库恢复的步骤;
3.完成实验报告。
五、实验内容及步骤
以管理员帐号登录SQL Server Management Studio,以原有数据库stu为基础,请使用Management Stuio界面方式或T-SQL 语句实现以下操作:
1.针对数据库stu创建完全数据库备份集stu.bak,目标磁盘为D:\ user
\ stu.bak;
BACKUP DATABASE student TO DISK='C:\user\stu.bak'
2.在数据库stu中新建数据表ceshi,内容自定,然后针对数据库stu创建
差异备份;
CREATE TABLE ceshi
(
Sno char(9)NOT NULL primary key,
Sname char(6)NOT NULL,
Ssex char(2)NULL,
Sage int NULL,
Sdept varchar(8)NULL
)
GO
BACKUP DATABASE student TO DISK='C:\user\stu_differential.bak'
WITH
DIFFERENTIAL
3.向数据库stu的数据表ceshi插入部分记录,然后针对数据库stu创建
事务日志备份;
BACKUP LOG student TO DISK='C:\user\stu_log.bak'
4.根据需要,将数据库恢复到数据库stu的最初状态;
USE master RESTORE DATABASE student FROM DISK='C:\user\stu.bak' 5.根据需要,将数据库恢复到创建数据表ceshi后的状态;
USE master RESTORE DATABASE student
FROM DISK='C:\user\stu.bak'
WITH REPLACE,NORECOVERY
GO
RESTORE DATABASE student
FROM DISK='C:\user\stu_differential.bak'
6.根据需要,将数据库恢复到在ceshi表插入记录后的状态;
USE master
RESTORE DATABASE student
FROM DISK='C:\user\stu.bak'
WITH REPLACE,NORECOVERY
GO
RESTORE LOG student
FROM DISK='C:\user\stu_log.bak'
7.针对现有数据库stu创建完全文件和文件组备份集stu_file,目标磁盘
为D:\ user \ stu_file.bak;
user \ stu_file.bak;BACKUP DATABASE student
FILE='stu',FILE='db2',
FILEGROUP='PRIMARY'
TO DISK='C:\user\stu_file.bak'
8.在当前数据库中新建数据表ceshi2,然后针对数据库stu创建差异文件
和文件组备份;
USE student
CREATE TABLE ceshi2( testID int, testName varchar(10))
GO
BACKUP DATABASE student
FILE='stu',FILE='db2',FILEGROUP='PRIMARY'TO DISK='C:\user\stu_file_differential.bak'WITH DIFFERENTIAL
9.向数据库stu的数据表ceshi2插入部分记录,然后针对数据库stu创建
事务日志文件和文件组备份;
BACKUP LOG student TO DISK='C:\user\stu_file_log.bak'
10.根据需要,将数据库以文件和文件组方式恢复到创建数据表ceshi2后的
状态;
USE master
RESTORE DATABASE student
FILE='stu',FILE='db2',FILEGROUP='PRIMARY'
FROM DISK='C:\user\stu_file.bak'
WITH REPLACE
GO
USE master
RESTORE DATABASE student
FILE='stu',FILE='db2',FILEGROUP='PRIMARY'
FROM DISK='C:\user\stu_file.bak'
WITH REPLACE,NORECOVERY RESTORE DATABASE student FILE='stu',FILE ='db2',FILEGROUP='PRIMARY'
FROM DISK='C:\user\stu_file_differential.bak'
11.根据需要,将数据库以文件和文件组方式恢复到数据表ceshi2插入记录
后的状态;
USE master
RESTORE DATABASE student
FILE='stu',FILE='db2',FILEGROUP='PRIMARY'
FROM DISK='C:\user\stu_file.bak'
WITH REPLACE,NORECOVERY
GO
RESTORE LOG student FROM DISK='C:\user\stu_file_log.bak'
12.为数据库stu设置一个备份计划1(建议使用数据库维护计划向导,【服
务器】→【管理】→【维护计划】→【维护计划向导】);
13.为数据库stu设置一个备份计划2,并比较各自优缺点。
六、思考题
1.某些备份无法执行,原因?
2.某些恢复无法执行,原因?
差异备份的恢复和事务日志的恢复需要先有回滚对象,即需要先对完整备份进行WITH REPLACE,NORECOVERY方式恢复
3.说明数据库的备份和恢复的基本步骤;
4.SQL Server中的完全备份、事务日志备份和增量备份形式的功能特点;
完全备份备份了整个数据库内容,占用空间大(如果对于大型数据库不适合完全备份)。增量备份和事务日志备份都是相对于前一次备份进行差异性备份,其中增量备份能记录表的创建删除等,而事物日志备份可以备份表