2011-05-20 50 views
0

我有兩個駐留在不同服務器上的數據庫(db1,db2),db1駐留在dbserver1,db2,dbserver2上。使用觸發器的SQL Server複製

現在我想將數據從db1(舊模式)複製到db2 REAL TIME中的新模式。這裏最好/最有效的方法是什麼?

我腦海中首先想到的是觸發器,是否可以在db1中觸發插入/更新記錄到db2?還有其他方法嗎?感謝..

  [db1.OldSchema] => [db2.NewSchema] 

補充:這隻有一種方式同步,因爲DB2將只在報告中使用..

+0

...任何人? – dotnetlinc 2011-05-20 14:15:51

+2

我建議查看各種內置的複製解決方案。您已經要求「實時」,但我懷疑您需要這樣做,而且如果您有要求,比如說「在5分鐘內」(尤其是如果您說這是爲了報告目的),它會便宜很多。您還需要考慮如果DB2由於某種原因(例如網絡,服務器重新啓動等)無法從DB1訪問而發生的情況。使用基於觸發器的解決方案時,DB1將變得無法使用。 – 2011-05-20 14:21:44

+0

你說得對,這不是真正的實時,實際上我們需要每隔1小時同步一次數據,看起來像使用SSIS是要走的路。謝謝... SSIS是否兼容從SQL 2000到2008的數據複製? – dotnetlinc 2011-05-20 14:27:34

回答

0

這個問題可能是最適合Database Administrators,但簡短的回答是,有多種方法你可以使用:

  1. 計劃的備份/恢復(如果你 高興地吹走上 每個恢復你的第二DB)
  2. 日誌傳送(通行證在改變自上次更新)
  3. SSIS包(如果你需要更改數據庫即結構:變換,那麼這是一個很好的方法,如果結構是相同用途的其他方法之一)
  4. Replication (因爲你似乎想要1種方式,我建議事務複製,這可能是最接近實時的,但不應該輕易進入,因爲它會影響你如何使用這兩個數據庫)