Sql Server 事务介绍。
来源:互联网 发布:胎教软件哪个好 编辑:程序博客网 时间:2024/05/21 07:54
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务。
原子性
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
隔离
由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务识别数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是第二个事务修改它之后的状态,事务不会识别中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性
事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
SET XACT_ABORT { ON | OFF }SQL Server 是否自动回滚到当前事务
当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
当 SET XACT_ABORT 为 OFF 时,有时只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。如果错误很严重,那么即使 SET XACT_ABORT 为 OFF,也可能回滚整个事务。
编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
对于大多数 OLE DB 提供程序(包括 SQL Server),必须将隐式或显示事务中的数据修改语句中的 XACT_ABORT 设置为 ON。唯一不需要该选项的情况是在提供程序支持嵌套事务时。有关详细信息,请参阅分布式查询和分布式事务。
SET XACT_ABORT 的设置是在执行或运行时设置,而不是在分析时设置。语法:
BEGIN { TRAN | TRANSACTION }
[ { transaction_name | @tran_name_variable }
[ WITH MARK [ 'description' ] ]
]
[ ; ]实例:
DECLARE @TranName VARCHAR(20);
SELECT @TranName = 'MyTransaction';
BEGIN TRANSACTION @TranName;
USE AdventureWorks;
DELETE FROM AdventureWorks.HumanResources.JobCandidate
WHERE JobCandidateID = 13;
COMMIT TRANSACTION @TranName;
GO语法:
COMMIT { TRAN | TRANSACTION } [ transaction_name | @tran_name_variable ] ]
[ ; ]USE AdventureWorks;
GO
实例:BEGIN TRANSACTION;
GO
DELETE FROM HumanResources.JobCandidate
WHERE JobCandidateID = 13;
GO
COMMIT TRANSACTION;
GO语法:
ROLLBACK { TRAN | TRANSACTION }
[ transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable ]
[ ; ]实例:
- Sql Server 事务介绍。
- SQL Server事务日志介绍
- SQL Server事务日志介绍
- SQL Server事务日志介绍
- MS SQL Server 事务日志介绍
- MS SQL Server 事务日志介绍
- SQL server 事务介绍,创建与使用
- SQL server 事务介绍,创建与使用
- Sql Server数据库事务介绍(一)---什么是事务
- Sql Server数据库事务介绍(一)---什么是事务
- SQL Server数据库事务日志序列号(LSN)介绍
- SQL Server数据库事务日志序列号(LSN)介绍
- SQL Server 事务日志
- sql server 事务
- sql server 事务示例
- SQL Server事务操作
- Sql Server 事务嵌套
- SQL SERVER 2005 事务
- java基本数据类型进制转换
- shell编程
- 如何安全退出已调用多个Activity的Application?
- [Android][UI]模拟器启动界面动画效果的简单实现
- android获取系统现有APP的应用程序名
- Sql Server 事务介绍。
- CSS十八条技总结
- Python的判断语句
- IE和Firefox浏览器CSS网页布局不同点
- android调试工具集
- TVGuideData
- Mysql 启动不了报1067错误解决方法
- 通过PCI访问host
- ULONGLONG类型的使用,适合存储文件的大小(4G以上的)