事务的特性

事务作为单个逻辑工作单元执行一系列的操作,一个逻辑工作单元必须具有四个属性:原子性,一致性,隔离性,持久性,只有同时满足这四个特性,才能成为一个事务。

一,事务的四个属性

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

一致性:事务在完成时,必须保证数据对象的所有状态都保持一致,事务结束时,所有的内部数据结构(索引,索引视图等)都必须是正确的。

隔离性:由并发事务所做的修改必须与其他任何并发事务所做的修改隔离。

持久性:事务完成之后,对数据的修改是永久性的。

二,事务的两种类型

1,隐式事务,每一条Sql 语句都是一条事务,这条语句要么成功,要么失败。

2,显式事务,由begin tran开启的事务,但是显式事务中任何一条语句失败,sql server并不都回滚,需要设置数据库选项

SET XACT_ABORT { ON | OFF } ,OFF 是默认设置。

当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。

当 SET XACT_ABORT 为 OFF 时,有时只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。如果错误很严重,那么即使 SET XACT_ABORT 为 OFF,也可能回滚整个事务。

3,分布式事务,跨越多个服务器的事务称为分布式事务,使用 begin distributed transaction 命令启动一个分布式事务

三,数据库引擎提供一种机制,保证事务的特性。

1,事务的管理特性,保证事务的原子性和一致性

事务启动之后,必须成功完成,否则,数据库引擎将撤销该事务启动之后对数据所做的所有修改

2,先写入日志方式,保证事务的持久性

sql server通过先写入日志,后写入数据的机制来保证事务的持久性。如果在写入日志时,出现故障,那么sql server将不会对数据做修改;如果日志写入成功,在写数据时出现故障,那么sql server将所有未完成的事务自动回滚到系统出现故障的点,保持数据的持久性。

3,使用锁来加锁资源,使事务保持隔离

sql server 通过在访问不同资源时,申请不同类型的锁的方式,实现不同事务之间的隔离。如果两个事务同时申请一个资源,那么在其中一个事务申请到锁之后,另外一个事务必须等待,直到前一个事务释放锁为止。

锁是实现事务隔离的一部分,阻塞是实现事务隔离所带来的不可避免的代价。

三,锁和事务的隔离性

隔离性是事务的一个特性,sql server 使用锁来保证事务的隔离性。

时间: 2024-10-10 14:37:55

事务的特性的相关文章

JAVAWEB开发之事务详解(mysql与JDBC下使用方法、事务的特性、锁机制)和连接池的详细使用(dbcp以d3p0)

事务简介 事务的概念:事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功 在开发中,有事务的存在,可以保证数据的完整性. 注意:数据库默认事务是自动提交的,也就是发一条SQL 就执行一条.如果想多条SQL语句放在一个事务中执行,需要添加事务有关的语句. 如何开启事务? 事务的操作方式: 创建表: create table account( id int primary key auto_increment, name varchar(20), money double

什么是事务、事务特性、事务隔离级别、spring事务传播特性

1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败). 2.事务特性: 事务特性分为四个:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持续性(Durability)简称ACID. 原子性(Atomicity):事务是数据库逻辑工作单元,事务中包含的操作要么都执行成功,要么都执行失败. 一致性(Consistency):事务执行的结果必须是使数据库数据

事务的特性和隔离级别

1.事务的特性ACID 1)原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 2)一致性(Consistency)一个事务中,事务前后数据的完整性必须保持一致. 3)隔离性(Isolation)多个事务,事务的隔离性是指多个用户并发访问数据库时, 一个用户的 事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离. 4)持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变 就是永久性的,接下来即使数据

事务、事务特性、事务隔离级别、spring事务传播特性

1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败). 2.事务特性: 事务特性分为四个:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持续性(Durability)简称ACID. 原子性(Atomicity):事务是数据库逻辑工作单元,事务中包含的操作要么都执行成功,要么都执行失败. 一致性(Consistency):事务执行的结果必须是使数据库数据

事务及其特性ACID

一.事务的定义 ??事务是一组单元化的操作,这组操作可以保证要么全部成功,要么全部失败(只要有一个失败的操作,就会把其他已经成功的操作回滚). ??一般所说的数据库事务,它是访问并可能更新数据库中各种数据项的一个程序执行单元,由一个有限的数据库操作序列构成.当事务被提交给了DBMS(数据库管理系统),则DBMS(数据库管理系统)需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库中,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前的状态:同时,该事务对数据

事务的特性及事务的隔离级别(转)

原文:http://www.cnblogs.com/fjdingsd/p/5273008.html 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consi

事务ACID特性

所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行. 数据库事务必须具备ACID特性,ACID是Atomic(原子性).Consistency(一致性).Isolation(隔离性)和Durability(持久性)的英文缩写. 原子性:指整个数据库事务是不可分割的工作单位.只有使据库中所有的操作执行成功,才算整个事务成功:事务中任何一个SQL语句执行失败,那么已经执行成

事务的特性与隔离级别

事务的定义: 简单的说事务就是一组原子性的SQL语句.我们可以将这组语句理解为一个工作单元,要 么全都执行,要不都不执行. 事物的四大特性(简称ACID): 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部提交成功,要么全部失败回滚. 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致. 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的.一个事务所做的修改在提交之前

数据库 事务的特性ACID

事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行. 数据库事务必须具备ACID特性,ACID是Atomic(原子性).Consistency(一致性).Isolation(隔离性)和Durability(持久性)的英文缩写. 原子性:指整个数据库事务是不可分割的工作单位.只有使据库中所有的操作执行成功,才算整个事务