zoukankan      html  css  js  c++  java
  • SQL自动事务、隐藏事务、显式事务,以及.net中的关于事务

    http://www.cnblogs.com/procoder/archive/2009/10/06/1578346.html
    参考:

    SQL Server 2008 的事务类型

    1.自动提交事务 Autocommit Transactions

    这是SQL Server默认的事务类型,每一条单独的SQL语句(SQL statement)都是单独的一个事务,语句执行完毕后自动提交。调用方不需要手工控制事务流程。

    2.显示事务 Explicit Transactions

    调用方需要调用API或者使用T-SQL的BEGIN TRANSACTION 语句来打开事务。需要调用COMMIT 或者 ROLLBACK TRANSACTION 来提交或者回滚。

    3.隐式事务 Implicit Transactions

    使用SET IMPLICIT_TRANSACTIONS ON把事务模式变成隐式模式。调用方不需要执行BEGIN TRANSACTION 语句来打开事务。数据库引擎执行到SQL语句的时候自动打开事务。调用方需要调用COMMIT 或者 ROLLBACK TRANSACTION 来提交或者回滚。当数据库引擎执行下一个SQL语句时又自动打开一个新事务。

    参考:Controlling Transactions (Database Engine)

    PB:中autocommit设置成false是时启动的Emplicit Transactions事务,一个事务接着一个事务形成事务链(可以通过sql profiler看到IMPLICIT_TRANSACTIONS ON设置).

    .Net中所谓的隐式事务(TransactionScope) 显示事务(CommittableTransaction),跟上面SQL2008的事务讲的是不同的概念,因为通过sql profiler只看到如下设置:

    -- network protocol: LPC
    set quoted_identifier on
    set arithabort off
    set numeric_roundabort off
    set ansi_warnings on
    set ansi_padding on
    set ansi_nulls on
    set concat_null_yields_null on
    set cursor_close_on_commit off
    set implicit_transactions off
    set language 简体中文
    set dateformat ymd
    set datefirst 7
    set transaction isolation level read committed 

  • 相关阅读:
    virtual
    微软MBS intern笔试
    Ubuntu Linux Green hand
    Coding style
    abstract
    Jquery Ajax请求标准格式
    Hashtable的简单实用
    C#中GET和POST的简单区别
    WIN7 64位机与32位机有什么区别
    一个加密解密类
  • 原文地址:https://www.cnblogs.com/wdfrog/p/2242498.html
Copyright © 2011-2022 走看看