有数据库A,里面有30张表,现在要做一个接口,因此需要改动A库,但是客户不让修改;
因此,我想弄个数据库B,里面的只要A的8张表就行,同时修改了一些B的数据库的字段;
请问一下,当A库有变动(插入,更新,修改)时,怎么将这些变动同步到B库中?
用同步可以吗?
具体怎么操作?

解决方案 »

  1.   

    感觉用触发器比较麻烦吧?
    还得分别写insert,update,delete的
    并且每次都执行所有记录的操作?
    具体怎么弄?
    请指教
      

  2.   

    触发器是要做到A库中去的,既然客户不让改,你也就没有办法做到A库了.建议根据需要不定期地备份A库到B库让你测试用.
      

  3.   

    以前做過類似不同服務器數據同步的項目,有三種解決方法
    1.sql2000是有DTS的,使用DTS包,定時執行對應sql操作,對相應增刪改的數據進行操作2.用觸發器,可以建立一個包含insert、update、delete偵查的觸發器,同步操作3.用 OPENROWSET 函數來操作,
    一個sqlDB可以查詢其他sqlDB里面的數據
    select * from 
    OPENROWSET('SQLNCLI','server=10.12.44.81,3000;database=logs;UID=logiedi;PWD=logsedi;',
    'Select * from TB_JIT4B2Info(nolock) where ProcessStatus =''N''') 
    查詢出來就可以操作,這個方法和DTS類似,也需要設置job定時迴圈執行,沒有觸發器即時操作
      

  4.   

    sql server复制可以实现的。
      

  5.   

    最终决定,还在用.NET的服务实现
    每隔5分钟向B库插入数据