- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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显式或隐式事务变为批处理级事务。当批处理完成时,没有提
您可能关注的文档
- 教育反思与教育案例和论文编写指导.ppt
- 教育哲学理论学派的分析.ppt
- 教育学-班主任工作之教育管理.ppt
- 教育学课件班主任.ppt
- 教育心理学案例鱼牛的故事.ppt
- 教育技术培训教程(教学人员版中级)师大版.ppt
- 教育报刊行业融资战略浅析.ppt
- 教育政策分析方法论.ppt
- 教育教学案例及应用.ppt
- 教育教学案例的分析.ppt
- 《质量及其测量》(教学设计)-2024-2025学年苏科版(2024)初中物理八年级下册.docx
- 《重力 力的示意图》(教学设计)-2024-2025学年苏科版(2024)初中物理八年级下册.docx
- 《压强》(教学设计)-2024-2025学年苏科版(2024)初中物理八年级下册.docx
- (译林2024版三起)英语三年级下册Unit2.1Cartoon time 课件.pptx
- 江西省十校协作体2024—2025学年高三上学期第一次联考生物试题.docx
- 上海市黄浦区2024-2025学年高三上学期期终调研测试(一模)生物试题.docx
- 2025(新人教PEP版)英语五年级下册 Unit2 大单元教学设计.docx
- 2025(新人教PEP版)英语四年级下册 Unit5 大单元教学设计.docx
- 2025年中考化学核心知识点总结 .docx
- (沪教2024版)英语三年级下册Unit1 Period 1 Get ready 同步练习(含答案).docx
文档评论(0)