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 :

Gestion de files d'attente


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 23
    Points
    23
    Par défaut Gestion de files d'attente
    Bonjour,

    J'ai un petit problème avec sql server, j'ai développé trois applications VB qui doivent accéder simultanément à une base de données SQL Server , et c'est là oû réside le problème, quand 2 applications accèdent en même temps à la même table ils se bloquent toutes les deux et l'une d'elle affiche "... délai d'attente dépassé ..."
    Est ce que SQL Server gére les files d'attente ? deverai-je installer un module ? Ou deverai-je configurer un truc sur Etreprise Manager ?

    Merci bcp

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    A quel moment as-tu ce délai d'attente dépassé ? A la connexion ou lors de l'exécution d'un certain type de requête.
    Il peut s'agir de problème de verrous. Essaie de voir ce qui se passe à ce moment-là en utilisant le profiler (si tu ne connais pas l'outil, il y a un petit blabla sur le sujet ici : http://rudi.developpez.com/sqlserver.../optimisation/)

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    En fait si une première application accède à la BD et la 2ième essaye de faire la même chose, et bien c'est la deuxième qui se bloque en affichant ledit message ( délai ... )
    Merci pour l'aide, je vais essayer de lire le document que vous m'avez recommandé

    Merci bcp

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 23
    Points
    23
    Par défaut a revoir
    Bonjour,

    J'ai essayé le with(unlock) mais j'ai toujours le "... délai d'attente dépassé ..." mais au moment de l'insertion, c-à-d:
    le programme VB accède a une table Data, si je veux inserer sur cette même table, le message d'erreur s'affiche. donc je me demande sur la manière de déverouiller cette table

    Merci

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Le message de délai d'attente dépassé, se produit-il tout de suite ou après un certain temps ?
    Normalement, la requête d'insertion attend que le verrou se libère, ce qui se produit dans la plupart des cas dans un délai très rapide. Est-ce que tu attribue une durée de timeout à ta connexion, dans ton code client ?

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 23
    Points
    23
    Par défaut salut
    Bonjour,

    Je n'attribue aucune valeur au timeout, le message s'affiche après un certain moment car il trouve la table verrouillée par le programme VB, à titre d'indication, le prog VB peut accèder a la base de données pour des heurres car c'est programme Client/Serveur qui émet des valeurs (peuvent atteindre jusqu'à 10000) et reçoit des réponses

    Merci

  7. #7
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Que veux-tu dire par "le prog VB peut accèder a la base de données pour des heurres" ? Ce type de programme ouvre en général une ou plusieurs connexions, qui peuvent rester ouvertes longtemps, d'accord, mais les requêtes ne durent que quelques millisecondes ou centaines de millisecondes sur le serveur. Si tu fais un SELECT et qu'il te retourne un résultat après des heures, oui, là il y a un problème. Sinon, avec la configuration et l'isolation par défaut, le verrou ne dure que le temps du SELECT.

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 23
    Points
    23
    Par défaut d'acc
    Nous sommes d'accord sur ce point, alors comment faire un insert sur une table verouillée ?

  9. #9
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    On ne peut pas. Il faut attendre. Au risque de me répéter, le verrouillage ne dure en général que très peu de temps, et souvent c'est un verrouillage par lignes, pas de toute la table.

    En sais-tu plus sur comment ta table est verrouillée à ce moment-là ?

Discussions similaires

  1. Gestion des files d'attentes
    Par Djemàa dans le forum MATLAB
    Réponses: 0
    Dernier message: 13/12/2014, 15h25
  2. [PHP 5.3] Script longue durée et gestion en file d'attente
    Par sbadecoder dans le forum Langage
    Réponses: 7
    Dernier message: 25/02/2014, 21h28
  3. Gestion de file d attente
    Par juzii dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 03/08/2009, 17h05

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