À l’aide de rowguidcol dans la définition d’un filtre n’est pas pris en charge dans la réplication de fusion

S’applique à : SQL Server 2008 EnterpriseSQL Server 2008 R2 EnterpriseMicrosoft SQL Server 2005 Enterprise Edition

Résumé


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

Plus d'informations


Pour effectuer le suivi des 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 fusion, la réplication ajoute la colonne rowguid pour chaque table, sauf si la table possède déjà une colonne de type de données uniqueidentifier avec la propriété ROWGUIDCOL (auquel cas cette colonne est utilisée).
Si la table est supprimée de la publication, 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 de rowguidcol utilisée par la réplication pour identifier les lignes. Lorsque la réplication est configurée, la fonction newsequentialid() est fournie sous la forme d’une valeur par défaut pour la colonne rowguid ou d’une colonne rowguidcol utilisateur.
Il est possible pour les clients à fournir un guid pour chaque ligne, si nécessaire, bien que la valeur 00000000-0000-0000-0000-000000000000 ne doit pas être utilisé.