JBOSS 點滴

          豐豐的博客

          數據同步

          可以利用觸發器同步,在觸發器中通過系統表獲取數據庫中的表、視圖等對象,然后同步。

          觸發器同步參照:
          SQL code
          --====================================================
          --
          發布/訂閱的效果最好.  
          --
          自己寫觸發器同步的實時性和可控制性最好.
          --
          ====================================================
          如果只是簡單的數據同步,可以用觸發器來實現.下面是例子:
          --測試環境:SQL2000,遠程主機名:xz,用戶名:sa,密碼:無,數據庫名:test  

          --創建測試表,不能用標識列做主鍵,因為不能進行正常更新  
            --在本機上創建測試表,遠程主機上也要做同樣的建表操作,只是不寫觸發器  
            if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[test]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   =   1)
          drop   table   [test]
          create   table   test(id   int   not   null   constraint   PK_test   primary   key
          ,name  
          varchar(10))
          go
          --創建同步的觸發器  
            create   trigger   t_test   on   test
          for   insert,update,delete
          as
          set     XACT_ABORT   on
          --啟動遠程服務器的MSDTC服務  
            exec   master..xp_cmdshell   'isql   /S"xz"   /U"sa"   /P""   /q"exec   master..xp_cmdshell   ''net   start   msdtc'',no_output"',no_output
          --啟動本機的MSDTC服務  
            exec   master..xp_cmdshell   'net   start   msdtc',no_output
          --進行分布事務處理,如果表用標識列做主鍵,用下面的方法  
            BEGIN   DISTRIBUTED   TRANSACTION
          delete   from   openrowset('sqloledb','xz';'sa';'',test.dbo.test)
          where   id   in(select   id   from   deleted)
          insert   into   openrowset('sqloledb','xz';'sa';'',test.dbo.test)
          select   *   from   inserted
          commit   tran
          go
          --插入數據測試  
            insert   into   test
          select   1,'aa'
          union   all   select   2,'bb'
          union   all   select   3,'c'
          union   all   select   4,'dd'
          union   all   select   5,'ab'
          union   all   select   6,'bc'
          union   all
          
          

          posted on 2009-07-29 14:14 半導體 閱讀(206) 評論(0)  編輯  收藏 所屬分類: sqlserver

          主站蜘蛛池模板: 诏安县| 平度市| 巩留县| 西丰县| 定南县| 乡宁县| 安陆市| 彭州市| 班戈县| 绥芬河市| 桃园县| 奉化市| 咸丰县| 黎川县| 来凤县| 化德县| 吉安县| 郑州市| 台山市| 丹棱县| 林周县| 伊宁县| 沿河| 盘山县| 汶川县| 洞口县| 长沙市| 皋兰县| 额济纳旗| 区。| 都匀市| 长兴县| 清徐县| 砚山县| 射阳县| 开远市| 阳城县| 大田县| 犍为县| 酉阳| 敦化市|