OVH Cloud OVH Cloud

réplication et résolution de conflit

11 réponses
Avatar
grome
Bonjour à tous,

Il y a quelque chose que je ne comprend pas sur la réplication.

J'ai mis en place une réplication de fusion sur un serveur SQL Server 2000.
Outre les différents pbs rencontrés sur les droits et comptes autorisés à se
connecter aux différents agents, je rencontre au jourd'hui un pbroblème de
taille.

La réplication fonctionne et enregistre correctement les conflits lorsque
ceux ci se presentent. Il y a un cas que je voudrais résoudre
automatiquement sans interventions de ma part.

Lorsque sur les deux bases de données des données sont ajoutées, les
identifiants sont les mêmes des deux côtés, ce qui provoque un conflit lors
de la synchronisation. Je dois alors gérer à la main ces conflits avec le
résolveur de SQL server. N'existe t'il pas une solution qui éviterait cette
intervention. Par exemple les identifiants de la base de l'abonné pourrait
être incrémenté.

Est ce possible ?

Merci d'avance

Jérôme MARTIN

10 réponses

1 2
Avatar
bruno reiter [MVP]
quand tu mets en place la répli fusion, il propose de différencier les identity,
sinon, tu mets la racine de identity différente sur chacun des acteurs de la
répli à la main.

br

"grome" wrote in message
news:400d0799$0$7129$
Bonjour à tous,

Il y a quelque chose que je ne comprend pas sur la réplication.

J'ai mis en place une réplication de fusion sur un serveur SQL Server 2000.
Outre les différents pbs rencontrés sur les droits et comptes autorisés à se
connecter aux différents agents, je rencontre au jourd'hui un pbroblème de
taille.

La réplication fonctionne et enregistre correctement les conflits lorsque
ceux ci se presentent. Il y a un cas que je voudrais résoudre
automatiquement sans interventions de ma part.

Lorsque sur les deux bases de données des données sont ajoutées, les
identifiants sont les mêmes des deux côtés, ce qui provoque un conflit lors
de la synchronisation. Je dois alors gérer à la main ces conflits avec le
résolveur de SQL server. N'existe t'il pas une solution qui éviterait cette
intervention. Par exemple les identifiants de la base de l'abonné pourrait
être incrémenté.

Est ce possible ?

Merci d'avance

Jérôme MARTIN




Avatar
grome
>>"bruno reiter [MVP]" a écrit dans le message




de news:


quand tu mets en place la répli fusion, il propose de différencier les


identity,

ok je vais essayer de trouver ou il propose cà.

sinon, tu mets la racine de identity différente sur chacun des acteurs de


la
répli à la main.



Tu veux dire que tu gère tes id en fonction des abonnés une sorte
d'identifiant alphanumérique
Les performances du système vont en souffrir non ?
Avatar
grome
"bruno reiter [MVP]" a écrit dans le message
de news:
quand tu mets en place la répli fusion, il propose de différencier les


identity,
sinon, tu mets la racine de identity différente sur chacun des acteurs de


la
répli à la main.

br



J'ai pas trouvé où éait l'option pour différencier les identity...
C'est le NOT FOR REPLICATION qui est en cause j'ai le message suivant
dans une fenetre à une des étapes de la creation de la replication de
fusion.


Les colonnes identity requierent l'option NOT FOR REPLICATION

Il est vivement conseillé d'utiliser l'option NOT FOR REPLICATION pour
toutes les colonnes IDENTITY répliquées. Lorsque la gestion de la plage
d'identité est activée pour un article. SQL Server ajoute automatiquement
l'option NOT FOR REPLICATION à la colonne IDENTITY.

Les tables publiées suivantes pour lesquelles la gestion de la plage
d'identité n'a pas été activée contiennent des colonnes IDENTITY sans
l'option NOT FOR REPLICATION :

[dbo].[REGLEMENT]
Avatar
bruno reiter [MVP]
il s'agit de la gestion de plage d'identité

br

"grome" wrote in message
news:400d4bc9$0$7135$

"bruno reiter [MVP]" a écrit dans le message
de news:
> quand tu mets en place la répli fusion, il propose de différencier les
identity,
> sinon, tu mets la racine de identity différente sur chacun des acteurs de
la
> répli à la main.
>
> br

J'ai pas trouvé où éait l'option pour différencier les identity...
C'est le NOT FOR REPLICATION qui est en cause j'ai le message suivant
dans une fenetre à une des étapes de la creation de la replication de
fusion.


Les colonnes identity requierent l'option NOT FOR REPLICATION

Il est vivement conseillé d'utiliser l'option NOT FOR REPLICATION pour
toutes les colonnes IDENTITY répliquées. Lorsque la gestion de la plage
d'identité est activée pour un article. SQL Server ajoute automatiquement
l'option NOT FOR REPLICATION à la colonne IDENTITY.

Les tables publiées suivantes pour lesquelles la gestion de la plage
d'identité n'a pas été activée contiennent des colonnes IDENTITY sans
l'option NOT FOR REPLICATION :

[dbo].[REGLEMENT]









Avatar
grome
Cela signifie que je suis obliger de le gérer par des plages d'identifiant
réservé à tel ou tel abonné ?


"bruno reiter [MVP]" a écrit dans le message
de news:
il s'agit de la gestion de plage d'identité


Avatar
bruno reiter [MVP]
oui, ou bien un code site faisant partie de la clé (ce que j'utilise en général)

br

"grome" wrote in message
news:400e2f18$0$7143$
Cela signifie que je suis obliger de le gérer par des plages d'identifiant
réservé à tel ou tel abonné ?


"bruno reiter [MVP]" a écrit dans le message
de news:
> il s'agit de la gestion de plage d'identité




Avatar
grome
Dans mon cas, les identifiants des tables sont tous en INT.

Est ce que tu à une clé composé de deux propriété ou bien est ce une seule
propriété alphanumérique clé sur laquelle tu gère le site + l'identifiant
SITEA456789


Autre question,
Si je comprend bien la propriété IDENTITY sert à créer des identifiant
automatiquement, dans la réplication, il faut ajouter NOT FOR REPLICATION.

"bruno reiter [MVP]" a écrit dans le message
de news: eIvpGi$
oui, ou bien un code site faisant partie de la clé (ce que j'utilise en


général)
Avatar
bruno reiter [MVP]
Je gère en général avec 2 colonnes, une clé :
code site (tinyint ou smallint)
identifiant (smallint ou int)

il faut toujours éviter de mélanger 2 infos dans une colonne

br

"grome" wrote in message
news:400e41f3$0$7156$

Dans mon cas, les identifiants des tables sont tous en INT.

Est ce que tu à une clé composé de deux propriété ou bien est ce une seule
propriété alphanumérique clé sur laquelle tu gère le site + l'identifiant
SITEA456789


Autre question,
Si je comprend bien la propriété IDENTITY sert à créer des identifiant
automatiquement, dans la réplication, il faut ajouter NOT FOR REPLICATION.

"bruno reiter [MVP]" a écrit dans le message
de news: eIvpGi$
> oui, ou bien un code site faisant partie de la clé (ce que j'utilise en
général)




Avatar
grome
"bruno reiter [MVP]" a écrit dans le message
de news: e7PFB#$
Je gère en général avec 2 colonnes, une clé :
code site (tinyint ou smallint)
identifiant (smallint ou int)



Effectivement, c'est ce qui me semble être le plus judicieux.


Merci de ton aide et milles excuses pour l'hortographe dans les posts
précédent.
Avatar
grome
Juste une dernière question comment gère tu les clés étrangères lorsque tu
as une clé composé.


sinon désormais ma répliation fonctionne avec la solution de la clé
composée.

"bruno reiter [MVP]" a écrit dans le message
de news: e7PFB#$
Je gère en général avec 2 colonnes, une clé :
code site (tinyint ou smallint)
identifiant (smallint ou int)

il faut toujours éviter de mélanger 2 infos dans une colonne



1 2