2010-07-14 9 views
1

J'ai eu l'expérience de MSSQL Server il y a un peu plus de 6 ans, je n'ai donc qu'une connaissance de base de son fonctionnement. Le problème avec lequel je suis posé est celui de la synchronisation des bases de données entre deux CRM en direct (NopCommerce et Rainbow Portal-based si quelqu'un est curieux) fonctionnant sur le même serveur DB. Les données qui m'intéressent sont réparties entre 7 tables dans une DB et 5 dans l'autre. L'idée est d'avoir deux applications Web avec les mêmes données avec des mises à jour dans l'un propageant instantanément à l'autre.Synchroniser en continu des tables entre deux bases de données

Chaque base de données possède de nombreux déclencheurs et procédures stockées qui sont utilisés pour maintenir la cohérence des données.

Je ne suis pas au courant de toutes les possibilités de SQL Server, donc je suis ouvert à des suggestions quant à la manière la meilleure et la plus rapide pour atteindre l'objectif. S'agit-il d'écrire plus de déclencheurs? Devrais-je créer une application "observateur"? Y a-t-il un mécanisme intégré pour cela?

Merci!

Répondre

1

Vous devriez regarder la réplication SQL et/ou en utilisant SSIS pour l'ETL d'intégration et de planification, etc.

Triggers (en particulier cross DB) peut être désordonné à maintenir et déboguer - vous pouvez également envisager de charger des données dans une base de données intermédiaire (tierce) séparée, avant de propager les données dans vos deux autres bases de données?

(D'autres alternatives incluent la mise en miroir synchrone et asynchrone, qui nécessiterait la synchronisation de l'ensemble des DB et l'envoi des journaux - également la totalité de la base de données - qui serait unidirectionnelle, généralement pour la redondance. utile pour votre but si)

Questions connexes