Partager via


Fonctionnement de la réplication

La réplication de fusion avec Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 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 Edition les ignore et inclut uniquement des tables dans l'abonnement SQL Server Compact Edition. 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 Edition Replication ou la classe SqlCeReplication , ou à l'aide de l'Assistant Nouvel abonnement dans SQL Server Management Studio. Lorsque l'abonnement est créé, la capture instantanée initiale du serveur de distribution est appliquée à 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 Edition utilise le suivi des modifications pour conserver la trace des instructions INSERT, UPDATE et DELETE exécutées sur l'Abonné SQL Server Compact Edition. Le suivi de niveau ligne et le suivi de niveau colonne peuvent tous deux être utilisés.

Important   Le suivi de niveau colonne est pris uniquement en charge lors de la synchronisation avec un serveur de publication SQL Server 2005. Lorsque vous utilisez la réplication avec SQL Server 2000, seul le suivi de niveau ligne est pris en charge.

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 Edition 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 Edition et il les propage vers l'Agent serveur SQL Server Compact Edition via HTTP. L'Agent serveur SQL Server Compact Edition 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 Edition.

  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 Edition démarre le Réconciliateur SQL Server. Le Réconciliateur SQL Server charge le Fournisseur de réplication SQL Server Compact Edition, 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 Edition 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.
    Remarque   Le Réconciliateur SQL Server résout les conflits à l'aide des résolveurs de 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 Edition 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 Edition 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 Edition é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 Edition
    Lorsque le processus du Réconciliateur SQL Server est terminé, l'Agent serveur SQL Server Compact Edition recherche le fichier de messages de sortie créé par le Fournisseur de réplication SQL Server Compact Edition. 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 Edition lit le fichier de messages de sortie et le transmet à l'Agent client SQL Server Compact Edition sur l'appareil. L'Agent client SQL Server Compact Edition applique les modifications à partir du fichier de messages de sortie à la base de données d'abonnement SQL Server Compact Edition.
    Remarque   L'Agent client SQL Server Compact Edition 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 Edition é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 Edition 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.

Voir aussi

Aide et information

Assistance sur SQL Server Compact Edition