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

Développement SQL Server Discussion :

Transaction et lecture indisponible


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut Transaction et lecture indisponible
    Bonjour,

    Je suis sous SQL Server 2008.

    J'ai une transaction qui tourne de temps en temps et qui lock mes tables ou sont effectué mes traitements.

    Je desire cependant au moins avoir acces en lecture à ses tables car cela bloque mes autres logiciels qui utilisent la meme BDD.

    J'ai essayé :
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, mais sans
    resultat, les requetes de lectures sont bloquees tant que la transaction est en cours.

    with(nolock) : Ca marche tres bien, mais il faudrait que je le mette partout, dans toutes mes proc stock !! Pas pratique du tout.

    Y a t il une solution ?

    Merci

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    cela bloque mes autres logiciels qui utilisent la même BDD
    Dans quel niveau d'isolation ces logiciels émettent'ils leurs requête?


    Postez le code complet de votre SP...

  3. #3
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Je ne sais pas à vrai dire, jusqu'a present je n'avais jamais eu ce probleme avant que cette SP mette du temps du au nombre de données à traiter.

    C'est juste un transaction toute bete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BEGIN TRAN 
    GO
     
    UPDATE maTable SET champ=param
    ....... insert, delete......
    GO
    COMMIT
    et de la part des autres softs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT champ FROM maTable
    Avec un with(nolock) c'est ok.

  4. #4
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Ou placez vous le NOLOCK?
    NOLOCK ne pose pas moins de verrous qu'une transaction en READ UNCOMMITTED... revoyez vos tests/conclusions

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795

  6. #6
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Les 2 font la même chose avec un scope différent.

    NOLOCK est un hint de table alors que SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED agit au niveau session.

    Poste ton code pour que l'on puisse t'aider.

    ++

Discussions similaires

  1. [WD14] Lectures sur transactions en cours.
    Par mogwai162 dans le forum WinDev
    Réponses: 6
    Dernier message: 19/05/2010, 08h32
  2. Deploiement, objet de transaction indisponible
    Par Torg666 dans le forum GWT et Vaadin
    Réponses: 22
    Dernier message: 05/03/2009, 15h17
  3. Empêcher la lecture d'une table pendant une transaction ?
    Par pouli dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/11/2008, 19h06
  4. [SQL Server 2000] Lecture du journal de transaction
    Par luimême dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/10/2007, 13h35
  5. Utilité d'une transaction en lecture
    Par OButterlin dans le forum Persistance des données
    Réponses: 7
    Dernier message: 18/03/2007, 16h06

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