2009-09-21 98 views
3

我在這裏面臨新的挑戰。 我似乎無法找到優先從MySQL的複製,運行在Linux機器上的MS SQL Server。從MySQL複製到MS SQL

以前有人做過這個嗎?

最重要的是,對MySQL數據庫所做的所有更改都應該在MS數據庫上實時或關閉地進行復制。 MS數據庫不可能以任何其他方式更新,因此不需要雙向設施。


我想一種方法是從二進制日誌中讀取更改。 以前有人解析過嗎?

感謝您的幫助球員。

+1

通過複製,你的意思是它應該保持恆定的同步,或者你只是想要一次性的或計劃的數據遷移? – 2009-09-21 15:23:11

+0

對不起。我更新。 :) – 2009-09-21 15:26:01

+0

啊,好吧,那我就幫不了你:)。我會建議你看一下MySQL Migration工具包,但如果你打算在兩邊進行更改,這並沒有什麼幫助。 – 2009-09-21 15:29:06

回答

2

MySQL中的觸發器可用於捕獲更改並調用UDF,然後UDF可以對MSSQL執行ODBC查詢。儘管如此,表現可能很糟糕。

如果不需要立即複製:

  • 寫在MySQL觸發捕獲插入,更新和刪除日誌表的語句。
  • 使用ODBC從MSSQL輪詢日誌表並執行它們,然後刪除這些日誌條目。

當然,T-SQL和MySQL的SQL變體並不完全一樣,但它應該是緊密的,用於微不足道的CUD操作。

+0

謝謝。如果我要編寫應用程序,我將在我的方法中遵循類似的觀點。爲什麼是性能問題? – 2009-09-22 06:09:43

+0

這當然似乎是唯一有效的方法... 使用任何工具同步大型數據表可能會花費太長時間,因此無法實現近乎實時的同步。 通過跟蹤更新,我需要迭代的行數已經大大降低,因此我可以有效地使用它來運行更新。 - 感謝理查德 – 2009-10-12 12:26:26

3

檢查,看是否DBSync會幫你做你想做

+0

我已經得到了DBSync,並對它進行了測試,並且它在初始遷移中的確很棒。 但是,它只能通過同步整個數據庫來進行更新,如果數據量較大,則可能需要幾個小時。因此,如果頻繁定期更新數據表,它不是一個有效的解決方案。 - 雖然簡單的遷移對於金錢來說是非常物有所值的...... – 2009-10-12 12:19:24

+0

......我只是想補充一點,它處理無效數據的能力也是有限的。 :( – 2009-10-26 13:46:34

1

我有類似的任務是什麼,但我從2008年MSSQL複製到MySQL的實時性。

我試過這個應用程序http://enterprise.replicator.daffodilsw.com/,它的工作,但它看起來並不可靠。但你可以檢查我可能是錯的。

最後我決定使用接口OLE DB和postgress來代替Mysql。它正常工作。

+0

是的,我們剛剛開始嘗試使用這個工具,我的IT人員正在測試它比我更確信。)Raj的DBSync對我來說看起來更加頑固,它只需79美元。 – 2009-09-25 12:53:56