我有兩臺SQL服務器,我需要完全相同。自動同步應該每天發生幾次。 這兩個服務器之間沒有「直接」連接,所以沒有連接數據庫等(它們在完全不同的機器,網絡,域之間以及防火牆之間等)您可以使用Internet,但Web服務,FTP等。同步兩個Diff SQL Server之間的數據
CopyFromDB包含大量表,但只有大約20個表(僅數據,現在沒有模式更改)應與CopyToDB同步。每天只有大約一半的表格會有新的/更新的行。其他人每年幾次。我猜現在每天只有幾千行。然而,這可能會在未來增長,每天大約10萬行。所以,我猜可能沒有太多數據。
而且(現在,可能會改變)數據只應該從CopyFromDB同步到CopyToDB。如果它不會因爲有人在CopyFromDB上的表上添加額外的列而「不中斷」,而且該新的col不應該自動同步到CopyToDB。 (只有應該同步的列位於CopyToDB,可能有其他列不應該同步)
它應該做插入,更新或插入。在最壞的情況下,我想它可以刪除和插入,但我不喜歡這樣。 (當然有FK等等,所以數據必須以正確的順序插入)
現在只有一個「CopyToDB」,但是這可能會增加。 解決方案應該也很簡單,不要太複雜。 :-)
我的問題是;什麼是最好的方式來實現這一目標?下面我有幾個想法。
- WS在CopyToDB端,從CopyFromDB端通過服務或其他東西調用?推送數據,只有自上次同步以來的更改。
- CopyToDB端的FTP,它接受帶有更改的「sql」文件。像插入/更新/刪除。這由CopyFromDB推到那裏。
- 還有別的嗎?內置的工具已經做到了這一點?還是3d零件工具?像紅門SQL數據比較,只能自動。
謝謝你的想法和/或答案!
我已經在論壇中搜索了我的問題。但是我只能在兩臺服務器之間存在某種「直接」連接的情況下才能找到問題,或者執行備份/恢復。但如果問題已經得到解答,我請求你原諒,你能告訴我在哪裏嗎? :)
嗯,我還沒有找到任何「捷徑」,所以我選擇了第一種方式,使用WS。 (sql-file-way失敗,也許可以解決它,但它花費了太多時間) 在CopyFromDB上,每個表都有一個DateTime-「update」列。我用它來檢查新數據。然後將新數據放入DTO,序列化,壓縮,併發送到CopyToDB端的WS。 CopyToDB獲取數據,如果數據已經存在,則進行更新或者執行插入操作。那麼,它有更多的邏輯,但基本上這是如何解決它。 – Rolle 2010-10-15 18:56:04