Partager via


Fonctionnement de la réplication

La réplication de fusion avec Microsoft SQL Server Compact 3.5 suit le processus ci-dessous :

  1. Les données sont publiées sur SQL Server.

  2. Les abonnements aux publications sont créés.

  3. Les données sur l'Abonné sont mises à jour.

  4. Les données sont synchronisées.

Le tableau ci-dessous définit certains des termes utilisés dans cette section.

Terme

Définition

Article

Table de base de données qui est activée pour la réplication.

Publication

Collection d'articles.

Partition

Ensemble de lignes ou de colonnes spécifique dans une publication.

Serveur de publication

Base de données qui rend accessible une publication via la réplication.

Abonné

Base de données qui reçoit des données répliquées et qui peut renvoyer au serveur de publication des modifications apportées aux données.

Abonnement

Demande de remise d'une copie de la publication à l'Abonné.

Base de données d'abonnement

Base de données qui reçoit les articles publiés par un serveur de publication.

Données de publication

Les publications spécifient les données qui sont publiées. Les publications sont généralement personnalisées pour les différents utilisateurs ou groupes d'utilisateurs. Parfois, tous les utilisateurs ont besoin des mêmes données. Par exemple, chaque employé peut avoir besoin d'une copie de l'annuaire des employés de l'entreprise. Dans d'autres cas, différents groupes d'utilisateurs ont besoin de différentes partitions de données. Par exemple, les commerciaux ont besoin d'un ensemble de données, tandis que les techniciens du support technique ont besoin d'un autre ensemble de données. Certaines personnes peuvent également avoir besoin de données spécifiquement filtrées pour elles. Par exemple, un commercial peut uniquement avoir besoin des données relatives aux comptes de ses propres clients.

Lorsque vous créez la publication, vous spécifiez les articles qu'elle contient. Bien que les publications SQL Server puissent contenir d'autres objets de base de données, tels que des procédures stockées, des vues et des fonctions définies par l'utilisateur, la réplication SQL Server Compact 3.5 les ignore et inclut uniquement des tables dans l'abonnement SQL Server Compact 3.5. Vous pouvez spécifier les lignes et les colonnes à inclure dans l'article en effectuant un filtrage. Pour plus d'informations, consultez « Réplication » dans la documentation en ligne de SQL Server.

Abonnement à des publications

Une fois la publication définie, une application s'y abonne par programme sur l'appareil, en appelant les méthodes révélées par l'objet SQL Server Compact 3.5 Replication ou la classe SqlCeReplication , ou à l'aide de l'Assistant Nouvel abonnement dans SQL Server Management Studio. Lorsque l'abonnement est créé, l'instantané initial du serveur de distribution est appliqué à la base de données d'abonnement sur l'Abonné.

Mise à jour des données sur l'Abonné

Il est probable que votre application effectue des mises à jour de la base de données d'abonnement. La réplication de fusion permet à chaque base de données d'abonnement d'être mise à jour de façon autonome. Les mises à jour peuvent être effectuées, que l'appareil soit ou non connecté au réseau. Chaque base de données SQL Server Compact 3.5 utilise le suivi des modifications pour conserver la trace des instructions INSERT, UPDATE et DELETE exécutées sur l'Abonné SQL Server Compact 3.5. Le suivi de niveau ligne et le suivi de niveau colonne peuvent tous deux être utilisés.

Synchronisation des données

En règle générale, les utilisateurs connectent l'appareil au réseau de façon intermittente. Ces connexions permettent à l'application de synchroniser les modifications apportées sur l'Abonné avec celles apportées sur le serveur de publication. L'application démarre la synchronisation en appelant les méthodes de synchronisation révélées par l'objet Replication ou par la classe SqlCeReplication. La synchronisation est un processus qui comprend quatre étapes.

  1. Extraction des modifications et création du fichier de messages d'entrée

    L'Agent client SQL Server Compact 3.5 extrait tous les enregistrements insérés, mis à jour et supprimés de la base de données d'abonnement côté Abonné SQL Server Compact 3.5 et il les propage vers l'Agent serveur SQL Server Compact 3.5 via HTTP. L'Agent serveur SQL Server Compact 3.5 crée un nouveau fichier de messages d'entrée et écrit dans ce fichier les modifications d'insertion, de mise à jour et de suppression envoyées par l'Agent client SQL Server Compact 3.5.

  2. Exécution du processus Réconciliateur SQL Server et application des modifications à la base de données d'abonnement

    Lorsque toutes les demandes ont été écrites dans le fichier de messages d'entrée, l'Agent serveur SQL Server Compact 3.5 démarre le Réconciliateur SQL Server. Le Réconciliateur SQL Server charge le Fournisseur de réplication SQL Server Compact 3.5, qui lit le fichier de messages d'entrée et informe le Réconciliateur SQL Server des modifications apportées à la base de données d'abonnement SQL Server Compact 3.5 qui doivent être appliquées à la base de données de publication sur le serveur de publication. Au cours de ce processus, le Réconciliateur SQL Server détecte et résout les conflits. Un conflit se produit lorsque plusieurs Abonnés ou serveurs de publication ont mis à jour le même enregistrement.

    Notes

    Le Réconciliateur SQL Server résout les conflits à l'aide des outils de résolution des conflits. Vous pouvez utiliser les résolveurs de conflits fournis avec SQL Server pour implémenter une résolution de conflit simple pour vos applications de réplication SQL Server Compact 3.5 ou vous pouvez écrire des résolveurs de conflits personnalisés pour implémenter des solutions plus sophistiquées. Pour plus d'informations, consultez Détection et résolution des conflits de réplication.

  3. Création du fichier de messages de sortie

    Le Réconciliateur SQL Server informe le Fournisseur de réplication SQL Server Compact 3.5 des modifications apportées sur le serveur de publication qui doivent être appliquées à la base de données d'abonnement sur l'appareil. Le Fournisseur de réplication SQL Server Compact 3.5 écrit ces modifications dans un fichier de messages de sortie sur le serveur qui exécute IIS.

  4. Lecture du fichier de messages de sortie et application des modifications à la base de données d'abonnement SQL Server Compact 3.5

    Lorsque le processus du Réconciliateur SQL Server est terminé, l'Agent serveur SQL Server Compact 3.5 recherche le fichier de messages de sortie créé par le Fournisseur de réplication SQL Server Compact 3.5. Ce fichier contient les modifications qui ont été apportées sur le serveur de publication et qui doivent être appliquées à la base de données d'abonnement sur l'appareil. L'Agent serveur SQL Server Compact 3.5 lit le fichier de messages de sortie et le transmet à l'Agent client SQL Server Compact 3.5 sur l'appareil. L'Agent client SQL Server Compact 3.5 applique les modifications à partir du fichier de messages de sortie à la base de données d'abonnement SQL Server Compact 3.5.

    Notes

    L'Agent client SQL Server Compact 3.5 traite les fichiers de messages d'entrée et de sortie en blocs logiques lorsqu'il lit des modifications à partir de la base de données d'abonnement sur l'appareil ou lorsqu'il applique des modifications à cette base de données. En traitant chaque fichier de messages de cette façon, l'Agent client SQL Server Compact 3.5 évite d'écrire la totalité du fichier de messages sur l'appareil, préservant ainsi l'espace de stockage de l'appareil.

Une fois que l'Agent client SQL Server Compact 3.5 a incorporé toutes les modifications dans la base de données d'abonnement sur l'appareil et que tous les conflits ont été résolus, les bases de données de publication et d'abonnement sont synchronisées et les données sont mises en convergence. Toutefois, étant donné que les mises à jour peuvent se produire de façon continue, les valeurs des données risquent de ne pas être identiques sur le serveur de publication et sur les Abonnés.

Important

Vous ne pouvez pas démarrer deux processus de réplication de fusion simultanément sur la même base de données.