mssql-mysql replication

Sziasztok!

Adott egy MSSQL adatbázis, erről szeretnék replikációt (napi vagy órás szinten) egy másik fizikai helyen lévő, Ubuntu szerveren futó MySQL adatbázis alá, a lehető legfájdalommentesen.

Amit találtam eddig:
első körben a google volt az én barátom, íme egy öt éves fórumtopic:
http://forums.mysql.com/read.php?60,16386,63672#msg-63672
ebből ejutottam ide:
http://enterprise.replicator.daffodilsw.com/

Ez egy java alapu adatbázis replicator tool, akár meg is lehetne vele oldani a problémát.

Viszont a kérdésem az lenne, hogy nem tudja ezt a mysql server out-of-box valahogyan?

Hozzászólások

A és B adatbáziskelező valamilyen köztes cucc nélkül biztos nem fogsz replikálni, már csak az apró SQL nyelvi eltérések miatt sem. Ha nagyon egyszerű az adatbázis próbáld meg, hogy az MSSQL dumpját betöltöd a MySQL-be, hátha...

A kérdés, hogy a táblák csak nőnek vagy változnak is.
Ha csak nőnek, akkor legutolsó áthúzott PK utánikat kell áthúznod.
Ha változnak is (delete, update), akkor az adatstruktúra megbolygatása nélkül minden táblára rátehetsz egy triggert, ami minden változást letol egy másik táblába egy-két plusz mezővel, az egyik mondjuk egy parancs (insert, update, delete), a másik pedig egy processed bit, amit mysql frissítés után átbillentesz.

Ez csak 4 éves! :D

--
A gyors gondolat többet ér, mint a gyors mozdulat.

Egy stabil megoldást ismerek nagyon régóta. Az eljárás egyszerű, csatlakozás mysql-hez táblák lekérdezése akár *-al majd ugyanez a insert az mssql nél. Vagy fordítva. ezt phpban megírva láttam. Nem túl hosszan, annyi különbséggel hogy nem minden táblát vitt át és valahogyan tudta hol tartott és teljes szinkron csak hetente volt ...

ÁÁÁÁ ... dehogy ez nem favágás hanem szisztematikus fa darálás.

Kb.
mysql_select * from XX > file_XX_mysql
mssql_select * from XX > file_XX_ms
diff file_XX_mysql file_XX_ms > diff_XX
insert diff_XX

Ne röhögjetek, nem vagyok programozó, de még az is lehet hogy a favágás végén befűtök és nem fogok fázni :D

Nem kell programozonak lenned, hogy erezd azt, hogy feleslegesen kerdezel le minden alkalommal minden egyes rekordot...

Es itt jon az almodozas:
Biztosan van olyam megoldas is ami pl ezt csinalja:
mssql_incremental_select_from_the_last_select * from XX > file_incremental_XX_mssql
insert file_incremental_XX_mssql into mysql

Szemely szerint, sajnos nem tudok segiteni, csak elmeleti sikon fejtegetem a problemat ;)

Szerk: Kollega tudja gyakorlatban is?!:
http://hup.hu/node/100302#comment-1238567