数据库设计开发技术案例教程之事务控制与锁定

资料大小: 0.39 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-01-11

上 传 者: 易水寒他上传的所有资料

资料介绍

标签:数据库(680)Server(37)SQL(129)

本文档的主要内容详细介绍的是数据库设计开发技术案例教程之事务控制与锁定主要内容包括了:1,事务的概念及分类 2,事务的简单操作 3,锁的分类 4,死锁的处理

  1.事务简介

  事务(transaction)是SQL Server中的单个逻辑工作单元,也是一个操作序列,它包含了一组数据库操作命令。一个事务内的所有语句被作为一个整体执行。在事务执行过程中,如果遇到错误,可以回滚事务,取消该事务所做的全部改变,从而保证数据库的一致性和完整性。因此,事务是一个不可分割的工作逻辑单元,一个事务中的语句要么全部正确执行,要么全部不起作用。

  事务作为一个逻辑工作单元必须具有四个属性:原子性( Atomicity)、一致性(Consistency)、隔离性( IsolaTIon)和持久性(Durability)。这四个属性简称ACID属性。

  原子性:事务必须是原子工作单元,对于其数据的修改,要么全都执行,要么全都不执行。

  一致性:事务必须完成全部的操作,事务开始时系统为一个确定的状态,完成后则成为另一个确定的状态,未完成则回到事务开始的确定状态,不允许出现未知的、不一致的“中间”状态。由此可见,一致性和原子性是密切相关的。

  隔离性:当许多人试图同时修改数据库内的数据时,必须执行控制以使某个人所做的修改不会对他人产生负面影响,这就足并发控制。一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能相互干扰。

  持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将在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。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料

本月热点资料

电子资料热门词

最新资料

下载排行

本周

本月

总榜

行业聚焦