Synchroniser les données

S’applique à : SQL Server Azure SQL Managed Instance

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 l'instantané initial 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 d'instantané.

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

  • Réplication d'instantané. La synchronisation signifie que l'Agent de distribution applique de nouveau l'instantané 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, un nouvel instantané doit être généré 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 d'instantanés 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 Modifier le schéma dans les bases de données de publication.

Pour synchroniser un abonnement par émission de données (push), consultez Synchronize a Push Subscription.

Pour synchroniser un abonnement par extraction de données (pull), consultez Synchronize a Pull Subscription.

Pour définir des plannings de synchronisation, consultez Specify Synchronization Schedules.

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 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 à un certain nombre de conditions au cours de la synchronisation : les modifications de données, les conflits et les erreurs. Pour plus d’informations, consultez Exécuter la logique métier lors de la synchronisation de fusion.