第八章2事务3说课讲解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在本节课中,你将学到: 事务和锁 死锁解决 ;事务可以被定位为一个单一工作单元一起完成的操作,具有原子性(Atomicity )、一致性( Consistency )、隔离性( Isolation)和持久性(Durabilily) 原子性:要么所有数据修改被执行要么一个也不执行。 一致性:事务在系统完整性中实施一致性,这通过保证任何事务最后都处于有效的状态。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。因为事务开始时系统处于一致状态,所以现在系统仍然处于一致状态。 ;隔离性 在隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统 。 隔离性不仅仅保证多个事务不能同时修改相同数据,而且能够保证事务操作产生的变化直到变化被提交或终止时才能对另一个事务可见,并发的事务彼此之间毫无影响。 事务没有看见中间状态的机会。 持久性 这说明完成事务对数据产生的改变在系统中保持永久的影响,因此,任何由于事务完成在数据中的改变。 ; 开始事务 Begin transaction 事务名或变量名(变量的值是事务 名,只能为char, varchar, nchar, nvarchar) 提交事务 Commit transaction事务名或变量名 和Commit work标志事务的结束 回滚事务 RollBack transaction ;丢失更新 丢失更新发生在多个事务试图修改同一行的时候,事务相互之间不知道对方的存在。那么在事务队列中最后更新的事务覆写前面事务所作的修改。(写后写) 未提交依赖 未提交依赖被称为脏读,事务从表中读取另一个事务未提交的数据(读后写) 不一致分解 事务两次读取数据的过程中,另一个事务对数据成功地进行了改变。(写后读) 幻影读 被称为幻影问题,事务开始在插入语句前面, 幻影读指的是在第二次读取时(当然,SQL语句和第一次的一样),一些新数据被加进来了。导致不能对它进行更新。(读后写);Sql server提供下面两方面的特性; 事务管理:确保所有事务的原子性和一致性,事务必须在它们启动之后成功完成,或SQL Server撤销自从事务启动之后的所有的数据修改。 锁:保持事务的持久性和隔离性。;课间思考;事务被回滚: 当事务的执行处于无效状态时 为了维护一致性 使用ROLLBACK TRANSACTION 和ROLLBACK WORK语句回滚事务 语法: ROLLBACK [TRAN[SACTION] [transaction_name |@tran_name_variable |savepoint_name | @savepoint_variable]]; begin try update xiao set age=35 where xiaoid=3 insert xiao values(3,40) commit transaction tr1 select transaction execuated end try begin catch rollback transaction tr1 select transaction roollbacked end catch;锁: 有助于达到事务完整性 有助于避免: 丢失更新 未提交依赖(脏读) 不一致分解 幻影读 SQL Server 使用下面的锁模式: 共享锁 排他锁 更新锁 意向锁 模式锁 批量更新锁;共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句 更新 (U) 用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。 排它 (X) 用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。 意向锁 用于建立锁的层次结构。意向锁的类型为:意向共享 (IS)、意向排它 (IX) 以及与意向排它共享 (SIX)。 架构锁 在执行依赖于表架构的操作时使用。架构锁的类型为:架构修改 (Sch-M) 和架构稳定性 (Sch-S)。 ;共享锁

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档