专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
事务(Transaction)是并发控制基本单位所谓事务它是个操作序列这些操作要么都执行要么都不执行它是个不可分割工作单位例如银行转账工作:从个账号扣款并使另个账号增款这两个操作要么都执行要么都不执行所以应该把它们看成个事务事务是数据库维护数据致性单位在每个事务结束时都能保持数据致性 针对上面描述可以看出事务提出主要是为了解决并发情况下保持数据致性问题 事务具有以下4个基本特征 l Atomic(原子性):事务中包含操作被看做个逻辑单元这个逻辑单元中操作要么全部成功要么全部失败 l Consistency(致性):只有合法数据可以被写入数据库否则事务应该将其回滚 [阅读全文] [PDF]
有两种情况,可能出现这个问题。一是应用系统给SQLServer发送了一个用户自定义事务,一直未提交,这个最早活跃事务阻碍系统截断日志。二是客户端向SQLServer发送了一个修改数量大的事务,清日志时,该事务还正在执行之中,此事务所涉及的日志只能等到事务结束后,才能被截掉。  对于第一种情况,只要督促用户退出应用或者提交事务,系统管理员便可清掉日志。因为给SQLServer发送Dumptransactionwithno-log [阅读全文] [PDF]
事务的工作原理图事务确保数据的一致性和可恢复性。事务的工作原理如图1所示。图1 事务的工作原理图 事务开始之后,事务所有的操作都陆续写到事务日志中。写到日志中的操作,一般有两种:一种是针对数据的操作,一种是针对任务的操作。针对数据的操作,例如插入、删除和修改,这是典型的事务操作,这些操作的对象是大量的数据。有些操作是针对任务的,例如创建索引,这些任务操作在事务日志中记录一个标志,用于表示执行了这种操作。当取消这种事务时,系统自动执行这种操作的反操作,保证系统的一致性。系统自动生成一个检查点机制,这个检查点周期地发生。检查点的周期是系统根据用户定义的时间间隔 [阅读全文] [PDF]
  事务的隔离级描述了给定事务的行为对其它并发执行事务的暴露程度。SQL-92共规定了四种隔离级别,通过选择四个隔离级中的一个,用户能增加对其它未提交事务的暴露程度,获得更高的并发度。隔离级别是一个事务必须与其它事务进行隔离的程度。   SQL-92的四种隔离级别如下所示,DM支持所有这些隔离级别:   (1)脏读(READUNCOMMITTED):事务隔离的最低级别,事务可能查询到其它事务未提交的数据,仅可保证不读取物理损坏的数据)。   (2)读提交(READCOMMITTED):DM默认级别,保证不读脏数据。   (3)可重复读(REPEATABLEREAD) [阅读全文] [PDF]
  数据库的事务数高了, 再好的机器也不能正常工作。 Log Write这块会成关键。 在一个每秒有几百上千个事务的库上, 发现了这样的负载现象, Rq是Run Que, Act是Active Session。 www.AnySQL.net Load SY/WT/US Rq Act   07/23-22:18:02 6.09 11/27/31 64 16   07/23-22:18:12 6.43 10/29/29 48 41   07/23-22:18:22 5.82 7/42/21 39 1173   07/23-22:18:32 6.07 12/41 [阅读全文] [PDF]
ASP Transactionsby Chris Payne IntroductionTransactions are important to maintain data integrity, among other things, and have been used with databases for some time now. Luckily, transactions aren\'t restricted to databases - you can use them in Active Server Pages as well, and w [阅读全文] [PDF]
在初始化SqlTransaction类时,你需要使用SqlConnection类的BeginTranscation()方法: SqlTransaction myTran; myTran=myConn.BeginTransaction(); 该方法返回一个SqlTransaction类型的变量。在调用BeginTransaction()方法以后,所有基于该数据连接对象的SQL语句执行动作都将被认为是事务MyTran的一部分。同时,你也可以在该方法的参数中指定事务隔离级别和事务名称,如: SqlTransaction myTran; myTran=myCo [阅读全文] [PDF]
下面的示例创建一个 OracleConnection 和一个 OracleTransaction。它还演示了如何使用 BeginTransaction、Commit 和 Rollback 方法。 public void RunOracleTransaction(string myConnString) { OracleConnection myConnection = new OracleConnection(myConnString); myConnection.Open(); OracleCommand myCommand = myConnection [阅读全文] [PDF]
另一个走向极端的错误 满怀信心的新手们可能为自己所掌握的部分知识陶醉不已,刚接触数据库库事务处理的准开发者们也一样,踌躇满志地准备将事务机制应用到他的数据处理程序的每一个模块每一条语句中去。的确,事务机制看起来是如此的诱人——简洁、美妙而又实用,我当然想用它来避免一切可能出现的错误——我甚至想用事务把我的数据操作从头到尾包裹起来。看着吧,下面我要从创建一个数据库开始:using System;using System.Data;using System.Data.SqlClient;namespace Aspcn{ public class DbT [阅读全文] [PDF]
什么是数据库事务  数据库事务是指作为单个逻辑工作单元执行的一系列操作。设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:  · 更新客户所购商品的库存信息   · 保存客户付款信息--可能包括与银行系统的交互   · 生成订单并且保存到数据库中   · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须 [阅读全文] [PDF]
1. 概述:在jdbc的数据库操作中,一项事务是由一条或是多条表达式所组成的一个不可分割的工作单元。我们通过提交commit()或是回滚rollback()来结束事务的操作。关于事务操作的方法都位于接口java.sql.Connection中。2. 特点:★ 在jdbc中,事务操作缺省是自动提交。也就是说,一条对数据库的更新表达式代表一项事务操作,操作成功后,系统将自动调用commit()来提交,否则将调用rollback()来回滚。★ 在jdbc中,可以通过调用setAutoCommit(fa [阅读全文] [PDF]
我上篇说的太简单了,其实我本人及比较懒,不知不觉就把blog当作记流水账了。下面详细说一下,平台(windows2000+sqlserver2000+msjdbc+weblogic+eclipse+lomoz),基本配置本文不作介绍,不明白者请google一下即可。具体步骤:1:首先去微软网站下在最新的jdbc驱动并且安装,要让它支持分布式事务你需要做以下事情(帮助文件中有)首先copy msjdbc安装目录下\\SQLServer JTA\\sqljdbc.dll 到 sqlserver安装目录下\\binn目录下面,然后打开查询分析器,装载 ms [阅读全文] [PDF]
1 共12条 分1页