Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Réplication transactionnelle - Accès en lecture seulement sur les bases secondaires
    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

  2. #2
    Rédacteur

    Il suffit de gérer les privilèges d'accès des utilisateurs à la base, avec la commande GRANT ou en leur attribuant le rôle db_datareader.

    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Nouveau membre du Club
    Bonjour,

    Merci pour votre réponse. Ok on va restreindre pour tout les comptes sauf l'agent de distribution.
    Maintenant, en ce qui concerne le rôle pour l'utilisateur défini dans les agents de distribution, peut-on le restreindre aussi ?
    Je suppose qu'il doit être sysadmin de l'instance. Mais au niveau de la base peut-on avoir un rôle plus restreint:
    1 - L'agent doit pouvoir répliquer la transaction.
    2 - Si je me connecte avec ce compte, je ne dois pas pouvoir modifier la base avec une qq application cliente.

    C'est pour ça que j'avais évoqué la notion de sécurité en fonction de "l'application". (agent distribution = tout les droits, 1 - agent distribution = droit lecture uniquement).

    En fait, il y a une multitude de clients où ils installent notre solution. Par mesure de sécurité, nous voulons avoir le plus de restrictions possibles (cf: loi de Murphy ).

    Merci d'avance.

  4. #4
    Rédacteur

    Citation Envoyé par Archi89 Voir le message
    ...
    3 - Si vous avez d'autres pistes, je suis preneur.
    AlwaysOn avec des réplicas en lecture => Edition Enterprise

    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

###raw>template_hook.ano_emploi###