APP下载

SQLServer自治事务实现方案探析

2013-06-21刘建军

长春大学学报 2013年8期
关键词:一致性

刘建军

(吉林省教育学院 基础教育网络信息中心,长春 130022)

0 引言

数据库事务(Database Transaction),是指为实现业务而作为单个逻辑工作单元执行的一系列操作。事务具有acid特性,即原子性、一致性、隔离性、持久性。而自治事务则是为了实现某些特殊业务应用而违反事务一致性的特殊事务实现方式。

1 自治事务(AT)执行流程概述

AT是由主事务(MT)即外部事务调用但是独立于它的事务。在AT被调用执行时,MT被挂起,在AT内部,一系列的DML操作可以被执行并且可以进行提交或回滚.由于AT的独立性,它的提交和回滚并不影响MT的执行效果。在AT执行结束后,MT获得控制权,又可以继续执行。这样就解决了在嵌套事务中,由于事务的原子性和一致性,子事务的提交或者回滚将决定于主事务的提交或回滚,而不能单独提交独立于主事务的该事务.即主要应用于嵌套事务中外部事务提交内部事务回滚或外部事务回滚而内部事务提交的应用。

2 SQLServer自治事务实现

3 示例

(1)创建表seq_xh,用来生成类似序列的值,该值记录在xh字段,bj字段是生成序列值为0,当该生成的序列被业务表使用,则更改为1。

Create table seq_xh(xh numeric(18,0),bj char(1));

4 执行结果

seq_xh表新增有序数据,表示序列正常生成,不因为主事务的回滚而回滚。

UseSeq表数据不变。同oracle一致。

(1)存储过程ProGetXh(等价于oracle的AT)是独立的,在它执行时,主事务被暂停了.主事务的roll-back不影响该存储过程的COMMIT。

(2)如果内部自治事务rollback,外部事务commit,测试时候,则内部自治事务成功回滚,不影响外部事务的数据提交。

5 说明

服务器选项“remote proc transaction promotion”是在SQLServer2008上的一个新的选项。……

登录APP查看全文

猜你喜欢

一致性
注重整体设计 凸显数与运算的一致性
关注减污降碳协同的一致性和整体性
商用车CCC认证一致性控制计划应用
注重教、学、评一致性 提高一轮复习效率
对历史课堂教、学、评一体化(一致性)的几点探讨
IOl-master 700和Pentacam测量Kappa角一致性分析
基于CFD仿真分析的各缸涡流比一致性研究
ONVIF的全新主张:一致性及最访问控制的Profile A
方形截面Rogowski线圈的一致性分析
基于事件触发的多智能体输入饱和一致性控制