Réseaux et Télécom » Réplication MSSQL vers MySQL
Catégorie:  
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:03:16,
Par zion
Hello les gars!

J'ai une DB MSSQL sur les bras, la DB maître, et de l'autre une DB MySQL sur laquelle on aimerait avoir une copie à l'identique des données MSSQL avec le délai le plus court possible. 1j c'est bien, 1h max c'est mieux...

J'ai tenté un truc DBSync, mais ça me semble pas assez rapide, il lui faut presque 1h pour faire une synchro, donc difficile de faire mieux que 2 ou 3 fois par jour.

Une autre idée? MSSQL n'étant pas du tout mon domaine d'expertise :smile:
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:08:03,
Par Jean-Christophe
J'ai utilisé ODBC4ALL, un petit shareware, qui permet de réaliser des actions sur des DB via ODBC en ligne de commande.
L'avantage, c'est que, une fois dans dans un script, ça roule tout seul.
C'est des requêtes SQL classiques, mais je ne sais pas si il est possible de faire de la syncro via une ou des requêtes. :smile:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:09:56,
Par zion
Avoir un lien ODBC doit pas être mortel vers MySQL, il y a déjà des outils pour cela.

Mais est-ce qu'il y a moyen de faire une réplication de MSSQL vers ODBC, là par contre j'ai comme un doute...
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:11:42,
Par Jean-Christophe
si c'est pas une trop grosse DB, tu ne peux pas faire un backup-restore via un lien odbc?
Maintenant, si il y a des milliards de records, ça risque de prendre des plombes :ohwell:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:12:49,
Par zion
Y a 2GB de data :spamafote:
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:27:51,
Par ovh
Pourquoi vouloir mirrorer une DB dans un autre SGBD ?! :wam:
La réplication existe en SQL Server, ça permet une synchro en temps réel et ça fonctionne bien d'après ce que j'en vois ici au boulot. A priori ça marche aussi avec la version gratuite (express). J'imagine qu'il y a une raison technique qui t'oblige à utiliser mysql, peut-on savoir laquelle ?
Je n'ai rien à voir avec www.ovh.com
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 11:34:07,
Par zion
Benh peut être que d'un côté t'es dans un environnement entreprise ultra sécurisé, firewall, vpn et cie, et que de l'autre je suis dans un environnement full web Linux, et que faire tourner MSSQL sous Linux, ou d'installer Windows pour héberger un site PHP, c'est plutôt hors de question :petrus:

Aucun moyen pour l'environnement web d'aller chercher des infos sur la plateforme interne, sécurité interne décidée telle quelle, je peux danser sur ma tête 10 ans ça changera pas. Mais de l'interne envoyer vers une DB externe MySQL ça ouaip, je peux.

Maintenant j'ai justifié, t'as une solution? :ddr555:
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 13:20:32,
Par Dr_Dan
Je ne connais pas MSSQL, (j'ai toujours travaillé avec Oracle :petrus: )

Je suppose qu'il est possible d'exporter le journal des transactions, et de l'importer dans Mysql. Ainsi tu ne synchronises que les dernières modifications et pas l'entièreté de la DB.

Maintenant, il reste à savoir comment exporter le journal (transaction log) en format SQL :petrus:
Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root. :petrus:
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 20:22:07,
Par ovh
Maintenant, il reste à savoir comment exporter le journal (transaction log) en format SQL :petrus:

Et surtout en format SQL compréhensible par mysql, car le dialecte de chaque SGBD est différent :ohwell:

Sinon nous au boulot on n'a pas eu le choix de la DB non plus, on doit faire une appli PHP qui s'appuie sur une DB SQL Server, donc... le serveur web est sous windows (pas le choix, le seul driver PHP correct récent et maintenu pour SQL Server n'existe que pour windows, merci MS).
Je n'ai rien à voir avec www.ovh.com
   
Réplication MSSQL vers MySQL
Publié le 26/04/2011 @ 23:59:44,
Par Pinou
http://www.navicat.com/ ?
Je sais qu'ils ont des outils de réplications pour certains SGDB et qu'ils ont, depuis peu, une version MS SQL.
Mais je sais pas s'ils répliquent du MS vers My.
Sorry, pas le temps/courrage de regarder plus en détails sur le site maintenant.


P.S. rien à voir : Ta A500 est arrivée ? Pour "tu sais qui" ça doit arriver jeudi je pense.
   
Réplication MSSQL vers MySQL
Publié le 27/04/2011 @ 00:07:09,
Par Pinou
Bon, j'ai quand même un peu regardé. :ddr555:

http://www.navicat.com/en/products/navicat_premium/premium_overview.html

Navicat Premium enables you to easily and quickly transfer data across various database systems, or to a plain text file with designated SQL format and encoding.

Batch job for different kind of databases can also be scheduled and run at a specific time. Other features include Import/ Export Wizard, Query Builder, Report Builder, Data Synchronization, Backup, Job Scheduler and more.


Question prix, ça va de 199 à 499 $
Je pense pas que la version Lite permet ce genre de manip.
   
Réplication MSSQL vers MySQL
Publié le 27/04/2011 @ 09:50:22,
Par zion
Pinou> Merci, je vais zieuter.

Ma a500 est arrivée, j'en ai déjà un peu fait le tour, et j'ai qqs critiques positives et négatives, un article va arriver je le sens :ddr555:
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 27/04/2011 @ 11:52:28,
Par netux.org

Et surtout en format SQL compréhensible par mysql, car le dialecte de chaque SGBD est différent :ohwell:

Sinon nous au boulot on n'a pas eu le choix de la DB non plus, on doit faire une appli PHP qui s'appuie sur une DB SQL Server, donc... le serveur web est sous windows (pas le choix, le seul driver PHP correct récent et maintenu pour SQL Server n'existe que pour windows, merci MS).



Salut,

J'utilise un serveur ubuntu avec "tdsodbc".
Il attaque le serveur MSSQL en php et en profite pour mettre quelques tables à jours depuis MSSQL 2000 vers MySQL.

C'est pratique pour des petits volumes mais j'aimerais bien "industrialiser" le processus et répliquer la base complète.

J'ai trouvé cet article chez MS :
http://support.microsoft.com/kb/283790/fr

Il décrit la procédure pour créer une trace côté serveur (MS).
Cette trace pourrait être exportée et relue sous MySQL mais il reste quelques soucis de "dialecte" :

1) MS SQL est insensible à la casse alors que la sensibilité de MySQL à la casse dépend du système sur lequel il est installé.
Dans mon cas, sous linux, les noms des tables sont sensibles à la casse alors que les instructions "jouées" sur le serveur ont été écrites sans see préoccuper de la casse.

2) Les instructions contiennent des mentions telles que "With NOLOCK" qui poluent.

Je pense qu'il est possible de passer les instructions dans une moulinette pour les rendre compatibles mais je commence à me demander si ça vaut la peine de se prendre la tête alors que la solution ODBC/PHP fonctionne bien.

Je n'ai pas testé ce process et je ne pas combien d'autres soucis je risque de rencontrer en persistant dans cette voie.
   
Réplication MSSQL vers MySQL
Publié le 27/04/2011 @ 11:54:01,
Par zion
J'hésite à créer un petit script en fait, j'aurai probablement un meilleur contrôle des données :figti:
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 29/04/2011 @ 18:07:47,
Par zion
Bon, finalement j'ai opté pour l'écriture d'un script après avoir tenté le truc DBSync. Avec DBSync pour synchroniser 2gb de tables il me fallait 2h, apparemment bien optimisé leur truc ( :kiki: ), la même chose scripté en prenant compte des spécificités des modifs, ça fait une synchro différentielle en 20s.

Y a pas photo, valait mieux faire un script finalement :tinostar:
Je suis le Roy :ocube:
   
Réplication MSSQL vers MySQL
Publié le 29/04/2011 @ 18:10:46,
Par testeurdesite
Scriptons peu mais scriptons bien ! :martoh_lawyer:
La liberté d'opinion n'est rien, en regard de la colossale liberté de rester assis au soleil quand on n'a pas envie de travailler.
   
Réplication MSSQL vers MySQL
Publié le 29/04/2011 @ 18:14:35,
Par zion
Toutafé :ocube:
Je suis le Roy :ocube:
Répondre - Catégorie:  
Informaticien.be - © 2002-2022 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?