- 136
- 0
- 约2.9千字
- 约 6页
- 2016-11-26 发布于重庆
- 举报
实验五数据库恢复技术
实验五 数据库恢复技术
班级: 姓名: 学号:
任课教师: 实验教师: 上机时间:
【实验目的】
在掌握事务的概念基础上,理解事务特性。
2、掌握数据库恢复原理。
3、熟悉SQL SERVER 的基本恢复技术。
【实验性质】
验证性实验
【实验学时】
2H
【实验导读】
1、事务概述
事务是指一个操作序列,这些操作序列要么全做,要么全都不做,它是一个不可分割的工作单位。事务中任何一个语句执行时出错,系统都会返回到事务开始前的状态。事务是并发控制的基本单元,是数据库维护数据一致性的单位。在每个事务结束时,都能保持数据一致性。事务中不能包含 CREATE DATABASE语句。
在MS SQL Server中,对事务的管理包含 3个方面:
事务控制语句:控制事务执行的语句。包括将一系列操作定义为一个工作单元来处理。
封锁机制:封锁正被一个事务修改的数据,防止其他用户访问到“不一致”的数据。
事务日志:使事务具有可恢复性。
事务的控制语句包括以下几条:
BEGIN TRAN:标识一个用户定义事务的开始。tran_name为事务的名字。
COMMIT TRAN:表示提交事务中的一切操作,结束一个用户定义的事务。
ROLLBACK TRAN:回滚一个事务到事务的开头或一个保存点。表示要撤消该事务已做的操作,回滚到事务开始前或保存点前的状态。
SAVE TRAN save_name:在事务中设置一个保存点。它可以使一个事务内的部分操作回滚。
不同的数据库管理系统提供的封锁类型、封锁协议、达到的系统一致性级别不尽相同。但是其依据的基本原理和技术是共同的。
2、数据库恢复技术概述
数据库恢复技术确保数据库处于一致性状态,保证事务ACID特性的基础。数据库的备份与恢复是两个相对应的概念,备份是恢复的基础,恢复是备份的目的。数据库备份是指系统管理员定期或不定期地将数据库部分或全部内容复制到磁带或另一个磁盘上(或其它存储设备)保存起来的过程。备份可分为静态备份和动态备份。数据库恢复是指在数据库遭到破坏时使数据库从有效的备份中恢复正常。
备份期间不允许对数据库进行任何存取、修改活动的备份方式称为静态备份。备份期间允许对数据库进行存取或修改,即各份和用户事务可以并发执行的备份方式称为动态备份。
在 SQL Server中可创建维护数据库的备份设备,使用Enterprise Manager或系统存储过程来规划和执行备份操作和恢复操作。
确定备份计划主要考虑以下几个方面:
(1)确定备份的频率。确定备份频率要考虑两个因素:一是系统恢复时的工作量,二是系统活动的事务量。对于完整数据库备份,可以是每个月、每一周甚至是每一天进行,而事务日志备份可以是每一周、每一天甚至是每一小时进行。
(2)确定备份的内容。确定数据库中的哪些数据需要备份。
(3)确定备份的介质。确定是使用磁盘、还是磁带作为备份的介质。
(4)确定备份的方式。确定备份采用动态备份还是静态备份。
(5)估计备份需要的存储空间量。在执行备份前,应该估计备份需要使用的存储空间量。
(6)确定备份的人员。应该指定专人负责数据库的备份,一般只有下列角色的成员才可以备份数据库:服务器角色Sysadmin、数据库角色db_owner和db_backupoperator。
(7)是否使用备份服务器。如果使用备份服务器,那么在出现故障时,系统就能迅速地得到恢复。
(8)确定备份存储的期限和存放地点:备份应该存储在安全的地方并保存适当的期限。
执行数据库恢复以前,应注意以下两点:
(1)在数据库恢复前,应该删除故障数据库,以便删除对故障数据库的任何引用。
(2)在数据库恢复前,必须限制用户对数据库的访问,数据库的恢复是静态的,应使用企业管理器或系统存储过程sp_dboption设置数据库为单用户。
下面举例说明。假设数据库TEST及其S表在第一次实验已经创建。
3、设计一个事务的运行过程,观察事务运行期间的封锁及其含义。
(1)在“查询分析器”的一个连接窗口(连接1),运行事务,见图5.1。
图5.1
(2)在“查询分析器”新建一个连接窗口(“文件”-“连接”,连接2)。
(3)执行操作,见图5.2。
图5.2
(4)在连接1窗口执行commit,观察连接2窗口,见图5.3。
图5.3
分析原因并解释。
提示:
可以考虑s表的加锁情况。观察s表的加锁情况,根据锁的相容矩阵可以得出结论。
观察s表的加锁方法有:
(1)sp_lock
通过在master数据库,执行系统存储过程sp_lock,观察s表的加锁情况:
USE master
原创力文档

文档评论(0)