Je suis en train de mettre en place une architecture de BDD et j'ai besoin de vos conseils.

Le principe est de faire une BDD de référence sous SQL server 2005 voire peut être 2008. Cette BDD de référence contient toutes les tables de notre application. Certaines tables vont être remplies par l'application. D'autres ne contiendront que des données de référence qui ne seront pas modifiées pas l'application. Mais des contraintes d'intégrités seront mises en place entre toutes ces tables.

Une copie de cette BDD sera installée chez nos clients. Par conséquent, je suis en train de regarder les possibilités de mise à jour et d'installation. Je m'oriente donc vers la réplication mais je n'arrive pas à trouver la bonne combinaison.

Je souhaiterais que dans ma base de référence, il y ait toutes les tables à répliquer chez nos clients. Ainsi, on réplique les contraintes. Par contre, certaines tables contiennent des données de référence. Ces données doivent être répliquées.
Pour l'instant, pas de soucis.

Une fois la BDD mise en place chez notre client, je ne veux absolument pas prendre en compte les données rentrées par ce client mais je veux que l'agent de publication mette à jour les données de référence et éventuellement des modifications dans les structures des tables. En gros, ça me met à jour la BDD client sans altérer les données de notre client. (On prendra soin de ne pas faire des mises à jour brutales qui détruisent les bases existantes)

Avec une réplication de fusion, je n'arrive pas à empêcher la remontée des nouvelles données de l'abonné vers le serveur. Je souhaite que ça soit que dans un sens (serveur -> client).
Comment feriez-vous?
C'est peut être tout simplement impossible.