Bonjour,
Pour vous présenter la situation, nous allons faire de la réplication transactionnelle pour gérer des bases de données en multi-sites. Notre mécanisme impose que la base primaire (la base à répliquer sur le serveur de distribution/publication) est en lecture et écriture (jusque là tout est normal). Nous voulons que les bases secondaires (abonnés) soient uniquement en lecture.
Mais question est donc : Comment garantir que la base secondaire soit en lecture (excepté évidement pour l'agent de distribution de la primaire qui réplique les transactions vers les abonnées)?
Nous travaillons avec des versions 2014 de sql serveur ( standard ou + pour le primaire, express ou + pour les secondaires).
Solutions envisagées :
1 - Notre application cliente se connecte déjà avec un compte restreint en lecture sur les abonnés (mais rien ne pourra empêcher d'autre appli cliente de venir modifier cette bases : ex via management studio).
2 - Peut on par exemple créer un travail (Agent SQL) qui empêche de réaliser une transaction/requêtes (insert, update, delete) venant de n'importe quel process id (excepté l'agent de distribution).
3 - Si vous avez d'autres pistes, je suis preneur.
Comme d'habitude, je vous remercie d'avance.
Julien
Partager