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

          主站蜘蛛池模板: 平谷区| 庆云县| 开封市| 科技| 阿瓦提县| 忻城县| 丹阳市| 琼结县| 新绛县| 阳谷县| 昌邑市| 册亨县| 屏东市| 德令哈市| 黄龙县| 庐江县| 长丰县| 阿城市| 库尔勒市| 阿合奇县| 晋宁县| 黄冈市| 河津市| 交城县| 五指山市| 金寨县| 中西区| 中牟县| 佛坪县| 佳木斯市| 仪陇县| 河西区| 嫩江县| 长葛市| 任丘市| 安乡县| 漾濞| 定日县| 蒙自县| 平陆县| 清苑县|