SQL Server fusionne-t-il les transactions de réplication?

Si j'ai deux tables avec une relation un-plusieurs qui sont répliquées à l'aide de la réplication de fusion dans la même publication, et sur l'abonné j'ajoute une ligne à chaque dans une transaction , la réplication SQL Server s'assurera-t-elle que ces lignes ne sont pas appliquées? le server dans une transaction, aussi?

Bien que je ne puisse pas dire avec certitude, il existe des preuves convaincantes que la réponse est non .

Tout d'abord, l'article sur l' utilisation d'loggings logiques avec des états de réplication de fusion

Par défaut, la réplication de fusion traite les modifications de données ligne par ligne. Dans de nombreuses circonstances, cela est approprié, mais pour certaines applications, il est essentiel que les lignes associées soient traitées en tant qu'unité. La fonctionnalité des loggings logiques de la réplication de fusion permet de définir une relation entre les lignes associées dans différentes tables afin que les lignes soient traitées en tant qu'unité.

Cela semble indiquer que la méthode de regroupement de modifications à plusieurs tables consiste à définir un mappage d'logging logique (statique) entre elles. Si les transactions peuvent être utilisées comme une méthode ad-hoc pour regrouper les modifications, cela ne devrait pas être nécessaire. De plus, la résolution de conflit au niveau de la ligne ne correspond pas conceptuellement au regroupement transactionnel ad-hoc des changements.

En outre, la définition de la table MSmerge_contents n'inclut aucun endroit où les informations de transaction pourraient être stockées. Il existe des colonnes pour l'identité, l'abonné ayant modifié la ligne, le suivi des modifications au niveau des colonnes et le suivi des loggings logiques. Il y a aussi une colonne de generation sondage prometteuse, mais une génération est l'set des changements entre les fusions, ce qui est tout aussi clair.

En résumé, toutes les preuves disponibles indiquent que les modifications apscopes à une transaction ne sont pas appliquées de manière transactionnelle lors de la fusion.