Synchronisation des données

La synchronisation des données est le processus de propagation des modifications de données et de schéma entre le serveur de publication et les abonnés après l'application de la capture instantanée initiale sur les abonnés. La synchronisation peut se produire :

  • En continu, ce qui est le mode normal pour la réplication transactionnelle.

  • À la demande, ce qui est le mode normal pour la réplication de fusion.

  • Suivant une planification, ce qui est le mode normal pour la réplication de capture instantanée.

Lorsqu'un abonnement est synchronisé, différents processus se produisent en fonction de votre type de réplication :

  • Réplication de capture instantanée. La synchronisation signifie que l'Agent de distribution applique de nouveau la capture instantanée sur l'Abonné pour que le schéma et les données de la base de données d'abonnement soient cohérents avec ceux de la base de données de publication.

    Si des modifications de données ou de schéma ont été effectuées sur le serveur de publication, une nouvelle capture instantanée doit être générée afin de propager les modifications sur l'Abonné.

  • Réplication transactionnelle. La synchronisation signifie que l'Agent de distribution transfère les mises à jour, les insertions, les suppressions et toute autre modification de la base de données de distribution sur l'Abonné.

  • Réplication de fusion. La synchronisation signifie que l'Agent de distribution charge les modifications de l'Abonné sur le serveur de publication, puis télécharge les modifications du serveur de publication sur l'Abonné. S'il existe des conflits, ils sont détectés et résolus. Dès que la convergence des données est assurée, le serveur de publication et tous les abonnés disposent des mêmes valeurs de données. Si des conflits ont été détectés et corrigés, le travail validé par certains utilisateurs est modifié pour résoudre le conflit en fonction de vos stratégies définies.

Chaque fois que la synchronisation se produit, les publications de captures instantanées actualisent complètement le schéma de l'Abonné, les modifications de schéma sont donc toutes appliquées sur l'Abonné. La réplication transactionnelle et la réplication de fusion prennent également en charge les modifications de schéma les plus courantes. Pour plus d'informations, consultez Modification du schéma dans les bases de données de publication.

Pour synchroniser un abonnement par envoi de données (push)

Pour synchroniser un abonnement par extraction de données (pull)

Pour définir des plannings de synchronisation

Pour afficher et résoudre les conflits de synchronisation

Exécution de code pendant la synchronisation

La réplication prend en charge deux méthodes d'exécution de code pendant la synchronisation :

  • L'exécution de script à la demande est prise en charge pour la réplication transactionnelle et la réplication de fusion. Vous pouvez, lors de l'utilisation de script à la demande, spécifier un script SQL à exécuter pendant la synchronisation. Le script est copié sur l'Abonné et exécuté par la commande sqlcmd au début du processus de synchronisation. Le script n'a pas accès aux modifications répliquées car elles sont appliquées à l'Abonné. Pour plus d'informations, consultez Procédure : exécuter des scripts pendant la synchronisation (programmation Transact-SQL de la réplication).

  • Les gestionnaires de logique métier sont pris en charge par la réplication de fusion. Vous pouvez, à l'aide de l'infrastructure du gestionnaire de logique métier, écrire un assembly de code managé qui est appelé pendant le processus de synchronisation de fusion. L'assembly comprend une logique métier qui peut répondre à plusieurs conditions pendant la synchronisation : modifications de données, conflits et erreurs. Pour plus d'informations, consultez Exécution de la logique métier lors de la synchronisation de fusion.