Partager via


Procédure : indiquer que les suppressions ne doivent pas être suivies pour les articles de fusion (programmation Transact-SQL de la réplication)

[!REMARQUE]

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Par défaut, la réplication de fusion synchronise les commandes DELETE entre le serveur de publication et l'Abonné. La réplication de fusion vous permet de conserver des lignes qui ont été supprimées de la publication dans la base de données d'abonnement, et vice versa. Vous pouvez spécifier par programme que les commandes DELETE doivent être ignorées lors de la création d'un article ou vous pouvez activer cette fonctionnalité ultérieurement à l'aide de procédures stockées de réplication.

Important

L'activation de cette fonctionnalité conduit à une non-convergence ; autrement dit, les données présentes au niveaux de l'Abonné ne reflèteront pas correctement les données présentes au niveau du serveur de publication. Vous devez implémenter votre propre mécanisme de manière à supprimer manuellement les lignes supprimées.

Pour spécifier que les suppressions doivent être ignorées pour un nouvel article de fusion

Pour spécifier que les suppressions doivent être ignorées pour un article de fusion existant

  1. Pour déterminer si la compensation d'erreur est activée pour un article, exécutez sp_helpmergearticle (Transact-SQL) et notez la valeur de delete_tracking dans le jeu de résultats. Si cette valeur est 0, les suppressions sont déjà ignorées.

  2. Si la valeur obtenue à l'étape 1 est 1, exécutez sp_changemergearticle (Transact-SQL) au niveau du serveur de publication dans la base de données de publication. Affectez la valeur delete_tracking à @property et la valeur false à @value.

    [!REMARQUE]

    Si la table source d'un article est déjà publiée dans une autre publication, la valeur de delete_tracking doit être la même pour les deux articles.