分布式事务Vs一般事务

前提:先建立一个链接服务器,别名叫linkServer

SET XACT_ABORT ON                            /*这是一定要打开的,否则事务没有意义*/

/*呵呵,分布式事务的最明显标志;普通的事务就是BEGIN TRAN T1;我这里的普通也可看作是一台服务器上事务,而不是跨服务器的,也就是狭义的分布*/
BEGIN DISTRIBUTED TRANSACTION  T1           
  update  linkServer.db1.dbo.table1 set .... /*更新远程另外一台服务器*/

  insert into localhost.db2.dbo.table2 ....  /*同时本地服务器追加一条记录*/
 
  if @@Error<>0                        /*如果有错,事务回滚;如果有多步操作,可分批回滚*/
  begin
    Rollback T1
    return @@Error
  end 
Commit Tran

posted @ 2004-07-22 21:11  CZoneSoft  阅读(2261)  评论(2编辑  收藏  举报