2010-04-19 58 views
2

好的,場景是......兩臺服務器,位於互聯網完全不同的部分。自動從2005年數據庫同步SQL Server 2008數據庫的好方法是什麼?

sql 2008數據庫只需要獲取數據更新和模式更改。它不需要發送任何東西到2005數據庫。基本上只是將數據和模式儘可能有效地自動地作爲計劃任務來吸收。

數據庫是相當巨大的....但每天的變化都圍繞probablly 20/30兆字節的數據/

我不能在2005年數據庫上運行任何內置的複製。

我已經看了一下Sync Framework,我認爲它可以做我想做的事情,但看起來有點痛苦,需要一點工作才能開始。我想知道是否有工具可以讓這更容易?

或??不太清楚我的選擇是什麼。

回答

1

您可以自動化RedGate的SQL比較和/或SQL數據比較嗎? http://www.red-gate.com/products/SQL_Compare/index.htm ......你至少可以試用14天的試用版,看看它是否值得投資。恕我直言,比自己模具更便宜。

+0

是的,它的名單上....雖然這似乎不是一個自動化的方法? – 2010-04-19 02:29:10

+0

爲什麼不呢?兩種工具的Pro版本都支持命令行...您不必永久使用用戶界面。 – 2010-04-19 02:46:24

+0

我還在本文中添加了一些可比較的工具(旨在避免編寫自己的解決方案以解決其他人已解決的問題,但恰好關注於此特定問題): http://www.onetooneinteractive.com/otocorporate-posts/2009/06/01/the-cost-of-reinventing-the-wheel/?showin=otolabs – 2010-04-19 02:48:36

1

或許這些問題可以幫助你:

Microsoft Sync Framework Or Replication

SQL Server Data Archive Solution

Is there a way to replicate some data not all data in db by sql server replication?

您可以在自己喜歡的時間段使生成的腳本的應用程序從您更改的數據,然後運行該腳本在你的目標服務器上。

+0

看到了那些,沒有....不是真的。那麼,第一個呢......我可以使用它。但似乎比我原先想要的要多一點。 – 2010-04-19 02:52:45

2

我無法在2005數據庫上運行任何內置的 複製。

此限制的任何理由?複製是方式來解決你的問題。如果沒有複製基礎結構,您將無法檢測到數據更改以及模式更改。只有兩種方法可以檢測更改:通過觸發器和跟蹤表(這是合併複製)或通過數據庫日誌(即Transactional Replication)。

同步框架本身,如果它將被使用,將需要更改跟蹤或更改數據捕獲。但是這些都是2008年的特定技術,它們其實不是別的,而是變相的複製(它們使用與合併和事務複製相同的基礎架構)。

即使你想要自己推出,你也會很快發現運送改變是微不足道的,例如。使用Service Broker作爲可靠的傳遞語義。但真正的難題是檢測到變化,那就是。在互聯網上分辨一個「相當龐大的」數據庫來檢測變化是行不通的。所以依靠內置的基礎設施來檢測變化,即兩種形式的複製,就是明顯的解決方案。

+0

好吧,這個限制並不是100%,但據我所知,它會修改數據庫爲所有表添加唯一標識符。這將是一個巨大的開銷。大部分數據都在1個表格中(儘管其他表格也在變化)。將另一列添加到此表中將會很昂貴。大多數表格的一件事是它們確實是不可變的......沒有數據被改變,也沒有數據被刪除,只有數據被添加。 – 2010-04-19 03:35:18

+0

事務複製不會向正在複製的文章添加任何內容。 – 2010-04-19 05:51:42

相關問題