IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQL2005]Replication + INSERT


Sujet :

MS SQL Server

  1. #1
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut [SQL2005]Replication + INSERT
    Bonjour,
    J'ai un probleme avec sql 2005 et la réplication et je ne comprend pas du tout d'ou ca vient.

    Je m'explique en précisant qu'avant de mettre la réplication en place tout marchait bien :

    Type de réplication : Fusion

    Depuis qu'elle est en place lorsque je fais un insert sur une table possédant une clé primaire avec un compteur auto, lorsque que je fais un SELECT @@identity l'index que je revois est mauvais, enfin une fois sur 40 il est bon, mais dans la plupart des cas, il est mauvais par exemple si mon index est à 10 le prochain qu'il devrait me renvoyer est 11 et parfois c'est 22, je comprend pas du tout pourquoi ca me fait cà, si quelqu'un a déjà rencontré le problème.

    Merci d'avance
    Jab,

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 227
    Billets dans le blog
    25
    Par défaut
    Quel index ? Si vous parlez de l'identity, il est garant de l'unicité et non de la séquence... donc la réplication par fusion peut générer des "sauts"
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Non autant pour moi je me suis mal exprimé, en fait lorsque je fais une insertion l'index sera bien à 11 ou 12 enfin l'index est bien unique avec ou sans trou peu m'importe dans ce cas, mais mon problème, c'est que la requete :
    SELECT @@identity ne me renvoit pas le même indice qu'il vient d'inserer.

    Par exemple, j'insere mon indice passe à 12 en base et il me renvois 22.

  4. #4
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Pour l'instant ce que j'ai remarqué c'est qu'il me revois des indices erronés lorsqu'il fait la capture instantanée, est ce qu'il ne me renverrait pas l'indice de la table qu'il est en train de parcourir plutot que celui de l'enregistrement qui vient d'être créé ?

    Je sais pas je cherche et m'oriente peut etre vers un autre type de réplication / publication.

    En tout cas si quelqu'un a des idées, qu'il n'hésite pas

  5. #5
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Bon à priori j'ai réussit à résoudre mon problème, je met ca ici au cas ou ca interesserait quelqu'un :

    En fait il ne faut tout simplement pas utilisé le @@identity mais plutot le SCOPE_IDENTITY().

    d'apres http://msdn2.microsoft.com/fr-fr/library/ms187342.aspx

    le @@identity n'a pas de notion de porté alors que le scope si. J'imagine que ce qu'ils entendent par porté c'est une sorte de notion de session, enfin je sais pas trop, mais toujours est il que ca semble marcher, plus qu'à tester :d

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Msg*2627, sur insert replication 2005
    Par joeldba dans le forum Réplications
    Réponses: 2
    Dernier message: 13/01/2009, 16h30
  2. [SQL2005-8] Probleme de charset avec BULK INSERT
    Par rom92150 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 26/11/2008, 17h29
  3. [SQL2005] Empêcher l'insertion de valeurs arrondies
    Par _Pouy_ dans le forum Développement
    Réponses: 0
    Dernier message: 15/10/2008, 14h20
  4. [SQL2005] insertion d'un numéro de mouvement et d'une durée
    Par jibjib dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/04/2008, 14h18
  5. [SQL2005]Trigger On delete, insert, update(colonne)
    Par slim dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 27/02/2007, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo