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 :

Procedure stockee, Lock et TimeOut SQL Server 2005


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Par défaut Procedure stockee, Lock et TimeOut SQL Server 2005
    Bonjour,

    J'ai un problème de TimeOut sur une base de données depuis quelques temps. Après analyse il semble que ce soit dû à un lock exclusif sur une table (GED_DOCUMENT). Ce lock est posé par une PS qui fait un update et semble provoquer les TimeOut sur des select vers cette table.

    Voici donc ma PS qui fait l'Update :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ALTER PROCEDURE [dbo].[sp_UpdateGEDDocument] 
    ( 
    @lng_Document numeric, 
    @x_Doc ntext, 
    @str_UserModif varchar(50), 
    @int_state int 
    ) 
    AS 
     
    UPDATE GED_DOCUMENT 
    SET 
    X_DOC = @x_Doc, 
    S_USER_MODIFIED = @str_UserModif, 
    I_ETAT = @int_state, 
    S_DATE_TIME_MODIFIED = getdate() 
    WHERE N_DOCUMENT = @lng_Document 
     
    INSERT Into GED_SUIVI_ETAT_DOCUMENT 
    (N_DOCUMENT, N_ETAT, DATE_MODIF, S_USER_MODIF) 
    values (@lng_Document, @int_state, getdate(), @str_UserModif) 
     
     
    IF (@int_state = 0 or @int_state = 1) 
    BEGIN 
    UPDATE GED_DOCUMENT 
    SET 
    S_USER_VALIDEUR = @str_UserModif 
    WHERE 
    N_DOCUMENT = @lng_Document 
    END


    Ma question est la suivante. Sachant que la première parti de la PS fait un UPDATE GED_DOCUMENT et que la dernière parti refait un UPDATE GED_DOCUMENT (après le IF) est ce que cela pourrait provoquer un problème au niveau du Lock dans cette PS. Et si c'est le cas , si j'ajoute un BEGIN avant mon premier UPDATE GED_DOCUMENT et un END avant mon IF cela corrigerait le problème ?

    Merci enormement d'avance si vous pouvez m'aider

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Et si tu mets le code de la sp entre BEGIN et END ?

Discussions similaires

  1. ALTER PROCEDURE fait planter SQL server 2005
    Par Grifos dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/05/2009, 16h20
  2. [SQL SERVER 2005] équivalent Lock table
    Par valoji dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/09/2008, 15h12
  3. Sql server 2005 - timeOut
    Par JeremyNachtegaele dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 18/11/2007, 16h13
  4. [SQL Server 2005] procedure dans isnull()
    Par kurisutofu dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/07/2007, 06h56
  5. sql server 2005 : ou sont cache les procedures stockes ?
    Par arioule dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/12/2006, 15h52

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