不太理解事务的内部机制
请教一下高人
在一个事务中对于链接一个数据库的多次操作可以回滚
那对于在一个事务中,多次打开关闭同一个数据库链接进行不同的操作可以回滚么?
如何处理一次链接多个数据库或不同类型数据库的事务呢?

解决方案 »

  1.   

    楼上的仁兄能否说详细点呢
    是否数据库支持分布式事务
    那在一个Transaction内,操作多个或不同类型的数据库,只要有一个操作失败,所有操作都可以回滚呢?
    谢谢!
      

  2.   

    用TransactionScope
    服务器要装DTC
      

  3.   

    如果是同一个连接,会使用本地事务,事务由数据库自身控制如果是不同的连接,会使用分布式事务.微软的分布式事务,用的2阶段提交协议,详细的资料你可以去google里搜一下很多的..net 2.0的TransactionScope 可以自动根据你的DB操作的连接情况来判断使用本地事务还是分布式事务.当然分布式如楼上说的需要参加事务的机器都启动DTC
      

  4.   

    用TransactionScope 
    服务器要装DTC
    是不是05里面的新东西啊
    好用吗
      

  5.   

    简单点...直接SQL语句BEGIN DISTRIBUTED TRANSACTIONDELETE FROM othersvr.TestDB.dbo.Employees -- 另外一台服务器上的DELETE FROM EmployeesROLLBACK TRANSACTION;
    GO