第14章事务和锁(免费阅读).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文档。上传文档
查看更多
C++面向对象程序设计 数据库原理与SQL Server教程 第十四章 事务和锁 第十四章 事务和锁 14.1 事务和锁简介 14.2 管理事务 14.3 锁 14.4 事务的并发控制 实训14 应用事务 14.1 事务和锁简介 1 事务 2 锁 3 并发控制 14.1 事务和锁简介 1.事务 事务是单独的工作单元,也是一个操作序列,该单元中可以包含多个操作以完成一个完整的任务。如果事务成功,在事务中所做的所有的操作都会在提交时完成并且永久地成为数据库的一部分。如果事务遇到错误,则必须取消或回滚,这样所有的操作都将被消除,就象什么也没有执行过一样。事务作为一个整体,要么成功,要么失败。 14.1 事务和锁简介 1.事务 事务是单独的工作单元,也是一个操作序列,该单元中可以包含多个操作以完成一个完整的任务。如果事务成功,在事务中所做的所有的操作都会在提交时完成并且永久地成为数据库的一部分。如果事务遇到错误,则必须取消或回滚,这样所有的操作都将被消除,就象什么也没有执行过一样。事务作为一个整体,要么成功,要么失败。 事务可以分为本地事务和分布事务 事务具有ACID属性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Duration) 14.1 事务和锁简介 2.锁 锁是在多用户环境中对数据访问的限制。 加锁防止了数据更新的冲突。 用户不能对其它用户改变处理中的数据进行读取或修改。如果不使用锁,数据库中的数据可能出现逻辑错误,并且对相关数据执行的操作可能产生意想不到的结果。 在多用户系统中,必须有一套机制来确保多个同时发生的事务对数据的更新保持一致。 在应用锁时,应注意以下事项: (1)加锁使得事务的串行化成为可能,使得在同一时刻只有一个人改变数据元素 (2)对于并发事务,加锁是必须的,以允许用户同时访问和更新数据 14.1 事务和锁简介 3.并发控制 如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。 并发问题包括: 丢失或覆盖更新 脏读 非重复读 幻像读。 14.2 管理事务 14.2.1 隐性事务 14.2.2 自动提交事务 14.2.3 显式事务 14.2.1 隐性事务 隐性事务将在提交或回滚当前事务后自动启动新事务。 无须描述事务的开始,只需提交或回滚每个事务。 隐性事务模式生成连续的事务链。 在SQL Server中,通过SET IMPLICIT_TRANSACTIONS ON语句将连接设置为隐性事务模式;通过SET IMPLICIT_TRANSACTIONS OFF语句将连接设置为返回到自动提交事务模式。 14.2.1 隐性事务 在为连接将隐性事务模式设置为打开之后,当SQL Server首次执行下列任何语句时,都会自动启动一个事务: 实例演示: 隐性事务对数据库的影响 14.2.2 自动提交事务 每个Transact-SQL语句在完成时,都被提交或回滚。如果一个语句成功地完成,则提交该语句;如果遇到错误,则回滚该语句。只要自动提交模式没有被显式或隐性事务替代,SQL Server 连接就以自动提交事务为默认模式进行操作。 SQL Server连接在BEGIN TRANSACTION语句启动显式事务,或隐性事务模式设置为打开之前,将以自动提交模式进行操作。当提交或回滚显式事务,或者关闭隐性事务模式时,SQL Server将返回到自动提交模式。 14.2.3 显式事务 在显式事务中,事务的语句在BEGIN TRANSACTION和COMMIT TRANSACTION子句间组成一组。 使用下列四条语句来管理事务: (1)BEGIN TRANSACTION (2)COMMIT TRANSACTION (3)ROLLBACK TRANSACTION (4)SAVE TRANSACTION 14.2.3 显式事务 1.BEGIN TRANSACTION 标记一个显式本地事务的起始点,的SQL Server可使用该语句来开始一个新的事务。 语法格式如下: BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable ????[ WITH MARK [ description ] ] ] 注意:任何有效的用户都具有默认的BEGIN TRANSACTION权限。 14.2.3 显式事务 2

文档评论(0)

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

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

1亿VIP精品文档

相关文档