Bonjour,
j'explique rapidement le contexte afin que vous vous imprégniez parfaitement de mon problème
(Je m'excuse par avance si je ne poste pas sur le bon forum)
Aujourd'hui, j'ai développé un application .net fonctionnant avec base SQL Server 2005 distante. C'est un serveur sur lequel je n'ai que très peu la main, je suis simplement capable de créer des tables et des procédures stockées.
Tout se passait très bien, les gens étaient heureux.
C'était sans compter une catégorie bien particulière de personnes viles et perfides : les commerciaux.
Ayant entendu parler de mon application, ils veulent maintenant avoir accès eux aussi au Saint Graal !
Soit, j'ai maintenant un problème épineux.
Nos commerciaux de par leur métier, doivent constamment se déplacer. Ils n'auront donc pas accès au serveur. Ils vont travailler en local.
Ils possèdent tous un SQL Server 2008R2 (sisi !) sur leur portable, comment faire pour que chaque matin avant de partir ils puissent synchroniser les 2 bases?
Sachant que j'ai quelques contraintes, ça serait trop facile sinon !
- La synchro doit se faire à l'ouverture du programme. En gros, connexion puis lancement de l'appli puis synchro.
Il ne faut pas utiliser d'autres programmes (pas que je veuille pas, mais seule mon appli sera autorisée à être installée sur leur poste...)- Il faut une méthode 'simple' et facilement administrable, car il n'est pas sur que ce soit moi qui la maintienne par la suite.
Si une table vient à changer sur le serveur, les clients doivent recevoir les modifications facilement.- J'aurai bien fait un drop de la base pour la recréer ensuite, mais l'utilisateur peut avoir des données à remonter au serveur. La synchro doit être bidirectionnelle.
- Il y a environ une 40aine de prod stock et une 30aine de tables (pour environ 10 millions de lignes au total) à synchroniser. La mise à jour doit être 'rapide', il faut donc qu'elle soit différentielle. Tout ce qui existe déjà des 2 cotés ne doit pas bouger.
- Certaines tables sur mon serveur proviennent d'une réplication par batch de nuit de SAP. Elles sont droppées puis recrées et rechargées. Impossible d'ajouter une colonne 'last_update_time' par exemple, elle n'existera plus le lendemain
J'ai regardé du coté de Microsoft Sync, mais je n'ai pas vraiment trouvé mon bonheur.
Existe t'il une technique made in Microsoft ou autre permettant de réaliser cette synchro entre 2 SQL server?
D'avance, un grand merci
Partager