第十章 事务和锁的用与管理11.19.ppt.Convertor.doc

第十章 事务和锁的用与管理11.19.ppt.Convertor.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 事务和锁的用与管理11.19.ppt.Convertor

第十章 事务和锁的使用与管理 掌握事务具有的四个特性 掌握事务模式的分类 掌握Transact-SQL语言的常用事务语句 掌握实现事务管理的方法 了解锁的分类 ● 本章要点: 本章教学内容: 10.1 事务管理 10.2 锁的管理 10.1 事务管理 一、什么是事务 二、事务的特性 三、事务模式 四、事务管理 一、什么是事务 事务(Transaction) 是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务是恢复和并发控制的基本单位。 事务和存储过程等批处理有一定程度上的相似,通常也都是为了完成一定业务逻辑而将一条或者多条语句“封装”起来,使它们与其他语句之间出现一个逻辑上的边界,并形成相对独立的一个工作单元。但事务又不完全正确同于批处理,不仅使用事务的目标和批处理不同,而且必须满足一定的条件才能成为事务。 通过事务,即使是在发生错误的情况下,SQL Server2000仍然可以保证数据的完整性和一致性。 事务日志用来记录对数据库进行的更改,每一个事务都将与一条事务日志相关联。 事务日志确保了数据的完整性与一致性。 日志文件的内容: 各个事务的开始标记 各个事务的结束标记 各个事务的所有更新操作 日志文件主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件 事务故障的恢复: 反向扫描日志文件,查找该事务的更新操作 对该事务的更新操作执行逆操作 继续反向扫描,查找其他更新操作,并做同样处理 直至读到此事务的开始标记,事务故障恢复完成 执行逆操作,即将日志记录中“更新前的值”写入数据库,这样,如果记录中是插入操作,则相当于做删除操作; 二、事务的特性 事务的ACID特性: 原子性 一致性 隔离性 持续性 Atomicity Consistency Isolation Durability 1. 原子性 事务是数据库的逻辑工作单位 事务中包括的诸操作要么都做,要么都不做 事务是一个整体的工作单元。 2. 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 一致性状态: 数据库中只包含成功事务提交的结果。 不一致状态: 数据库中包含失败事务的结果。 如果事务成功,事务将处于一个新的状态;如果事务失败,所有数据仍然处于事务开始前的状态。 一致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作 这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据库就处于不一致性状态。 3. 隔离性 对并发执行而言一个事务的执行不能被其他事务干扰,即: 一个事务内部的操作及使用的数据对其他并发事务是隔离的。 并发执行的各个事务之间不能互相干扰 T1的修改被T2覆盖了! 4. 持续性 持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。 事务的特性 破坏事务ACID特性的因素: 多个事务并行运行时,不同事务的操作交叉执行; 事务在运行过程中被强行停止。 保证事务ACID特性是事务管理的重要任务。 三、 事务模式 事务模式分为: 显式事务 隐式事务 自动事务 又称为用户定义事务,是只由用户执行T-SQL事务语句定义的事务。 可由SQL Server 2000自动执行,不需要用户启动事务,用户只需要提交或回滚事务即可。 是SQL Server 2000默认的事务管理模式。 在自动事务模式下,当一个语句成功执行后,它被自动提交;当它在执行过程中产生错误时,则被自动回滚。 四、事务管理 常用事务语句: BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION 启动一个显示事务 显式事务或隐式事务的结束 显式事务管理 显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。 。。。。。 COMMIT

文档评论(0)

yuerang3062 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档