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 :

Blocage de transaction (NOLOCK ?)


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 19
    Points
    19
    Par défaut Blocage de transaction (NOLOCK ?)
    Bonjour,

    J'ai un blocage sur une transaction en UPDATE avec un "WITH NOLOCK" !?
    Le "NOLOCK" ne s'appliquant pas aux instructions "INSERT", "UPDATE" et "DELETE", comment est il géré avec une de ces instructions ?
    Il est ignoré ?


  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 772
    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 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Une transaction IMPOSE obligatoirement des verrous dès lors qu'il y a des mises à jour. Que vous précisiez NOLOCK n'a donc aucun intérêt si des UPDATE, INSERT ou DELETE sont présent dans le corps de la transaction.
    C'est d'ailleurs généralement une fort mauvais idée que d'obliger le serveur à adopter un verrouillage particulier alors que celui-ci est dynamique si vous ne faites rien.
    C'est pourquoi il est très nettement préférable de jouer sur les niveaux d'isolation des transaction.
    Je vous invite à lire ce que j'ai écrit à ce sujet : http://sqlpro.developpez.com/isolation-transaction/

    Enfin, il serait intéressant que vous nous postiez :
    1) le code complet de la transaction
    2) le message d'erreur exact;


    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Je vais jeter un oeil...
    Je n'ai pas dévellopé l'appli, juste un constat depuis le moniteur d'activité...

    Je vois ca et je reviens !

Discussions similaires

  1. [2008R2] Blocage de transaction
    Par Fredo02 dans le forum SSIS
    Réponses: 6
    Dernier message: 23/01/2012, 19h10
  2. blocage (transaction verouillée)
    Par morados dans le forum Développement
    Réponses: 6
    Dernier message: 05/12/2011, 10h45
  3. Transaction et blocage
    Par J0r_x dans le forum Développement
    Réponses: 6
    Dernier message: 21/05/2010, 18h18
  4. [SQL SERVER 2000] Transaction, verrous et utilisation de NOLOCK
    Par luimême dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/02/2009, 17h21
  5. blocage d'une transaction
    Par richard038 dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/11/2005, 12h00

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