Bonjour,
J'ai un petit soucis de conception de projet.
J'ai un projet (qui était en production et marchait très bien jusqu'a présent) qui consiste a copier des données d'une base de donnée vers une autre. Les bases de données sont toutes des sql server 2005 standard (sp3)
J'utilisais un système un peu particulier mais qui pour un volume important de donnée s'est révélé bien trop lent.
Principe :
Trigger sur une table sur un insert ou update ou delete, qui ajoute la commande avec les données dans une table dites "journal", replication de cette table sur mes bases de donnée distante, exécution des requètes inscrites dans le journal par le serveur distant sur le serveur distant.
Problème rencontrés : Le système de copie dans la table de journal est rapide (en tout cas suffisante), la copie du journal via replication est correct (je rencontre quelques petits soucis sur la replication mais c'est un autre sujet), l'exécution des requètes est excessivement lent. Il me faudrait un autre procédé.
Problème rencontré :
Il me faut une sélection par ligne (jusque la je peux tout faire en réplication), il me faut une sélection par colonne, les 2 tables auront la même structure mais lors de la copie, modification de donnée, le serveur ne touchera a aucune donnée dans les colonnes non sélectionnées. Et pour certaines de mes colonnes non sélectionnées je dois pouvoir indiquer une valeur par défaut sur l'insert. (La je perds la replication, ou je ne la connais pas suffisament.... il est sur que j'ai des grosses défaillance en réplication).
Voilà donc mon problème, quel technique sql server ai je d'exploitable? Je dois donc faire depuis le serveur des inserts/update/delete sur un autre serveur avec une limitation par ligne, par colonne avec possibilité de mettre des champs calculés.
Petit détail aussi, lorsque je change la configuration vu que j'ai un choix de colonne ne pas tout supprimer dans les tables.
Merci d'avance pour votre aide
Partager