4.7_SQL Server数据库管理课件.ppt
文本预览下载声明
4.7数据库管理与保护 ;4.7.1 事务管理
事务的概念
事务:一个逻辑工作单元的数据库操作集合,称为事务。
事务由一条或多条SQL语句构成。一个应用程序可以包含多个事务。;2.事务的特性
事务具有原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)和持久性(Durabiliy)四个特性,简称ACID。 ;3. SQL Server的事务管理机制
SQL Server通过强制事务管理和事务处理,保证每个事务符合ACID特性。主要管理机制有以下几个方面:
锁定机制:通过加锁使事务相互隔离,保持事务的隔离性,支持多个事务并发执行。
记录机制:将事务的执行记录在事务日志文件中,保证事务的持久性。即使服务器硬件、操作系统或SQL Server自身出现故障,SQL Server 也可以在重新启动时使用事务日志,将所有未完成的事务自动地回滚到系统出现故障的位置。
强制管理:强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则SQL Server将撤消该事务启动之后对数据所作的所有修改。
;4.事务的定义和应用
数据库管理系统可以按照系统默认的规定自动划分事务并强制管理,一般一条语句就是一个事务。 ;【例4-71】将4-70的SQL操作定义为一个事务,假定退学学生学号为,历史学生信息表为T_HistoryStudent,历史学生成绩表为T_HistoryGrade。
Begin Transaction
INSERT INTO T_HistoryGrade SELECT * FROM T_Grade
WHERE StudentCode
DELETE FROM T_Grade WHERE StudentCode
INSERT INTO T_HistoryStudent SELECT * FROM
T_Student WHERE StudentCode
DELETE FROM T_Student WHERE StudentCode
Commit Transaction;4.7.2 并发控制 ;2. 锁定管理
数据库通过锁定机制解决并发访问的问题。
锁定可以防止用户读取正在由其他用户更改的数据,并可以防止多个用户同时更改相同数据,解决数据库并发访问所带来的数据不一致问题。;3. SQL Server的锁粒度和锁模式
SQL Server具有多粒度锁定,允许一个事务锁定不同类型的数据对象。
锁定在较小的粒度(例如行)可以增加系统并发访问能力但需要较大的系统开销;锁定在较大的粒度就并发而言是相当昂贵的,但要求的系统开销较低,因为需要维护的锁较少。 ; SQL Server 使用不同的锁模式锁定资源,这些锁模式用于确定并发事务访问资源的方式。;4. SQL Server的并发控制方式
(1)乐观并发控制:乐观并发控制假定不太可能在多个用户间发生资源冲突,允许不锁定任何资源而执行事务。
(2)悲观并发控制:系统使用锁阻止事务执行可能对其他事务产生负面影响的操作。默认使用悲观并发控制。;5. SQl Server的锁查看
可以使用SQL Server企业管理器查看当前的锁。
“控制台根目录”-“已注册的数据库”—“管理”—“当前活动”。展开“锁/进程 ID”可以查看每个连接的当前锁,展开“锁/对象”可以查看每个对象的当前锁 ;4.7.3 数据库备份和恢复
磁盘的物理损坏、系统瘫痪、恶意破坏、数据操作失误等都有可能造成数据库损毁、数据不正确或部分数据丢失等。;3.备份策略的选择
完整数据库备份
备份是数据库的完整复本,可用它重建或恢复到备份时刻的数据库状态。占用存储空间大,备份所需时间较长。无法恢复到故障点。 ;【例4-73】完整数据库备份与事务日志备份相结合的备份策略应用。
1)对School数据库每天清晨0:00做完整备份,每隔4小时做事务日志备份;
2)如果某天上午11:00数据库发生故障,使用完整数据库备份可恢复到当天0:00的数据库状态,再使用日志可以恢复到上午8:00的数据库状态;
3)如果在数据库发生故障时,数据库管理系统可以工作,那么可以立即备份数据库日志,使用这个日志就可以将数据库恢复到故障点。 ;4.数据库恢复
数据库恢复是与备份相对应的操作,根据备份策略的不同可以选择不同的恢复策略,常用的策略有:;5.SQL Server的数据库备份和恢复
(1) 人工进行数据库备份
在可视化环境下完成当前时刻数据库的备份,其主要步
显示全部