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 :

Problème de Rollback 2


Sujet :

MS SQL Server

  1. #1
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut Problème de Rollback 2
    j'ai une erreur bizarre à cause d'un ROLLBACK.

    Lorsque je lance la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    exec SPR_AddService 'Informatique'
    go
    la 2ème fois (il faut bien provoquer le rollback), j'ai l'erreur suivante :
    Serveur : Msg 60201, Niveau 16, État 1, Procédure SPR_AddService, Ligne 29
    Ce SERVICE existe déjÃ
    Serveur : Msg 3903, Niveau 16, État 1, Procédure SPR_AddService, Ligne 30
    La requête ROLLBACK TRANSACTION n'a pas de BEGIN TRANSACTION correspondante.
    La 1ère est normale, c'est moi qui la génère. Mais la 2ème me gène. Bien sur, je n'ai pas de begin transaction. Le problème, c'est que je ne veux pas en mettre, en fait, mais que la transaction commence à la 1ère ligne de code, et que donc ça soit tout rollback du début. vous voyez ce que je veux dire ? (en plus, "begin transaction", il me semble avoir lu je ne sais pas où que c'était pas standard :o\ ).

    Bref... Que dois-je faire ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 715
    Points
    51 715
    Billets dans le blog
    6
    Par défaut
    BEGIN TRANSACTION est parfaitement standard depuis SQL:1999....

    Maintenant sachez que les ROLLBACK et COMMIT imbriquès ne sont pas symétrique....
    Le premier ROLLBACK annule toute les transactions, tandis que c'est le dernier COMMIT qui les valide.
    Pour savoir ou vous en êtes vous avez la possibilité d'interroger la variable de session @@TRANCOUNT.

    Je dois faire un papier sur le sujet et le poster. Mais je n'ai pas le temps. Si vous me donnez votre mail en mail privé, je vous envoie le document qui explique cela.

    A +

  3. #3
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    En fait, je n'ai aucun commit, donc là-dessus, pas de problème ;o)

    Concernant les BEGIN TRANSACTION, mon problème est que je ne sais pas où les mettre. Si j'ai plusieurs BEGIN TRANSACTION, le ROLLBACK remonte jusqu'au 1er que j'ai lancé ? Si c'est le cas, je peux mettre des BEGIN TRANSACTION partout, accompagné de leur COMMIT TRANSACTION ;o)

    Je suppose que je vais avoir besoin de votre document pour mieux comprendre ça, mais votre boite à messages privés est pleine, et vous ne recevez pas d'email ;o)

    PS : Et pour le BEGIN TRANSACTION pas standard, le document que j'ai lu devait dater d'avant la norme alors :o)
    PS2 : l'adresse email associé à ce compte est valide ;o)

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    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 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    ... et si vous voulez remonter ailleurs qu'au début de votre 1ère transaction, il vous faut utiliser les savepoints

  5. #5
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    Ha, je n'en ai à priori pas besoin là, mais c'est utile de le savoir, j'irai jeter un coup d'oeil, merci ! :o)

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

Discussions similaires

  1. [Data] Problème transaction rollback requête alter table
    Par fadjerx dans le forum Spring
    Réponses: 2
    Dernier message: 25/02/2010, 17h32
  2. [Data] transation required problème de rollback
    Par al3alwa dans le forum Spring
    Réponses: 2
    Dernier message: 14/04/2009, 10h53
  3. Problème de rollback
    Par jakcam dans le forum JDBC
    Réponses: 1
    Dernier message: 12/12/2008, 12h45
  4. problème de rollback segment
    Par valauga dans le forum Administration
    Réponses: 5
    Dernier message: 29/11/2007, 19h21
  5. [TSQL]problème de Rollback sybase
    Par rasybase dans le forum Adaptive Server Enterprise
    Réponses: 4
    Dernier message: 23/11/2007, 13h13

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