L’utilisation de rowguidcol dans la définition de filtre n’est pas prise en charge dans la réplication de fusion

Cet article décrit que l’utilisation rowguidcol de dans la définition de filtre n’est pas prise en charge dans la réplication de fusion.

Version du produit d’origine : SQL Server 2008 Enterprise, SQL Server 2008 R2 Enterprise, SQL Server 2005 Êdition Entreprise
Numéro de la base de connaissances d’origine : 2646528

Résumé

Lors de la conception d’une topologie de réplication, un filtre ne doit pas inclure le rowguidcol et uniqueidentitifier utilisé par la réplication pour identifier les lignes. Par défaut, SQL Server ajoute cette colonne lors de la configuration de la réplication de fusion sur une table.

Plus d’informations

Pour suivre les modifications, la réplication de fusion (et la réplication transactionnelle avec des abonnements mis à jour en file d’attente) doivent être en mesure d’identifier de façon unique chaque ligne de chaque table publiée.

Pour effectuer cette réplication de fusion, la colonne rowguid est ajoutée à chaque table, sauf si la table a déjà une colonne de type uniqueidentifier de données avec la ROWGUIDCOL propriété définie (auquel cas cette colonne est utilisée).

Si la table est supprimée de la composition, la colonne rowguid est supprimée ; si une colonne existante a été utilisée pour le suivi, la colonne n’est pas supprimée. Un filtre ne doit pas inclure le rowguidcol utilisé par la réplication pour identifier les lignes. Lorsque la réplication est configurée, la newsequentialid() fonction est fournie par défaut pour la colonne rowguid ou la colonne utilisateur avec rowguidcol.

Il est possible pour les clients de fournir un GUID pour chaque ligne si nécessaire, bien que la valeur 0000000-0000-0000-0000-0000000000000 ne doit pas être utilisée.