网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库设计开发案例教程.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库设计开发 技术案例教程(十) 事务控制与锁定 主要内容 1,事务的概念及分类 2,事务的简单操作 3,锁的分类 4,死锁的处理 10.1事务管理 1.事务简介 事务(transaction)是SQL Server中的单个逻辑工作单元,也是一个操作序列,它包含了一组数据库操作命令。一个事务内的所有语句被作为一个整体执行。在事务执行过程中,如果遇到错误,可以回滚事务,取消该事务所做的全部改变,从而保证数据库的一致性和完整性。因此,事务是一个不可分割的工作逻辑单元,一个事务中的语句要么全部正确执行,要么全部不起作用。 事务作为一个逻辑工作单元必须具有四个属性:原子性( Atomicity)、一致性(Consistency)、隔离性( Isolation)和持久性(Durability)。这四个属性简称ACID属性。 原子性:事务必须是原子工作单元,对于其数据的修改,要么全都执行,要么全都不执行。 一致性:事务必须完成全部的操作,事务开始时系统为一个确定的状态,完成后则成为另一个确定的状态,未完成则回到事务开始的确定状态,不允许出现未知的、不一致的“中间”状态。由此可见,一致性和原子性是密切相关的。 隔离性:当许多人试图同时修改数据库内的数据时,必须执行控制以使某个人所做的修改不会对他人产生负面影响,这就足并发控制。一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能相互干扰。 持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将 10.1事务管理 在SQL Server中,系统将事务模式分为显式事务、隐式事务、自动事务和批处理级事务四种。 1).显式事务 显式事务就是可以显式地定义事务的开始和结束的事务,这类事务又称为用户定义事务。 BEGIN TRAN [ SACTION] [ transaction_name |@Tran_name_variable] 标记一个显式本地事务的起始点。 COMMIT TRAN [ SACTION] [transaction_name |@Tran_name_variable] 或 COMMIT WORK 标记一个成功的显式事务或隐性事务的结束。如果没有遇到错误,可使用该语句成功地结束事务。该事务中的所有数据修改在数据库中都将永久有效。事务占用的资源将被释放。 ROLLBACK TRAN [ SACTION ] [ transaction_name|@ Tran_name_variable] 或 ROLLBACK WORK 将显式事务或隐式事务回滚到事务的起点或事务内的某个保存点,用来清除遇到错误的事务。该事务修改的所有数据都返回到事务开始时的状态。事务占用的资源将被释放。 SAVE TRAN[SACTION] 在事务内设置保存点或标记。保存点可以定义在按条件取消某个事务的一部分后,该事务可以返回的一个位置。如果将事务回滚到保存点,则根据需要必须完成其他剩余的T-sQL语句和COMMIT TRANSACTION语句,或者必须通过将事务回滚到起始点完全取消事务。若要取消整个事务,请使用ROLLBACK TRANSACTION transaction_ name浯句,这将撤销事务的所有语句和过程。 在事务中允许有重复的保存点名称,但指定保存点名称的ROLLBACK TRANSACTION语句只将事务回滚到使用该名称的最近的SAVE TRANSACTION。 10.1事务管理 2).隐式事务 隐式事务是指在当前事务提交或回滚后,SQL Server自动开始的事务。所以隐式事务不需要使用BEGIN TRANSACTION语句标识事务的开始,而只需要用户使用ROLLBACK TRANSACTION、COMMIT TRANSAC,TION等语句回滚事务或结束事务。在回滚时,SQL Server又自动开始一个新的事务。 3).自动事务 自动事务是一种能够自动执行并能自动回滚的事务。在自动事务模式下,当一语句成功执行后,它被自动提交,而当它执行过程中产生错误时则自动回滚。自动事务模式是SQL Server的默认事务管理模式,当与SQL Server建立连接后,直接进入自动事务模式’直到使用BEGIN TRANSCTION语句开始一个显式事务,或者执行SET IMPLICIT_ TRANSACTIONS ON语句进入隐式事务模式为止。但当显式事务被提交或回滚,或者执行SET IMPLICIT_TRANSACTION OFF话句后,SQL Server又进入自动事务管理模式。 4).批处理级事务 只能应用于多个活动结果集( MARS),在MARS会话中启动的T-SQL显式或隐式事务变为批处理级事务。当批处理完成时,没有提

文档评论(0)

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

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

1亿VIP精品文档

相关文档