SQL SERVER中在默认隔离级别(READ COMITTED)下,事务的ACID特性中的I(隔离性),也就是说,一个事务只能看到另外一个事物之前或者之后的状态,不存在看到另一个事物的中间状态是成立的,对这个,我认为意思是:在当前事务不能读取另外一个事务中虽已更改但未提交的数据,不知道我的这个理解对吗?如果这样理解对,那么在设定事务隔离级别为(READ UNCOMITTED)的条件下,事务就不具备(隔离性)的特征,也就是这个时候能够在一个事务中(READ UNCOMITTED隔离级别)可以读取另一个事务已修改但未提交的数据,所以我想问,这个事务的ACID特性是固有的特性还是随隔离级别的改变而改变呢?

解决方案 »

  1.   

    事务的ACID特性是固有的特性SQL Server 以下列事务模式运行。自动提交事务 
    每条单独的语句都是一个事务。显式事务 
    每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐式事务 
    在前一个事务完成时新事务隐式启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。
      

  2.   


    事务的ACID特性和隔离级别两个概念. read uncommitted 只是让你可以读取脏数据.
      

  3.   


    我认为脏读就是使一个事务看到了另一个事务的中间状态,不符合ACID中I的(隔离性)特性
      

  4.   

    这个, 字面意思理解错了吧, 脏读应该是隔离级别的最低级了。 当你的隔离级别越高,那么你事务的并发性就越差, 主要是根据业务需求来决定使用哪种隔离级别。 http://epub.itpub.net/3/4.htm