OVH Cloud OVH Cloud

Timeout Expiré sur SQL Serveur sur une table de la BDD

1 réponse
Avatar
Nicolas BERNARD
Bonjour,

Je constate un problème récurent sur un serveur SQL :

Une seul des tables de la base de données se verrouille en écriture/mise à
jour et entraine des Timeout Expiré lorsque l'on execute ce type de requete
vers cette table. Par contre les requetes de sélections fonctionnent
toujours.
L'Entreprise Manager plante lorsque l'on essaye de modifier un
enregistement.
Toutes les autres tables fonctionnent correctement.


Quelles pourrait être les raisons d'un verrouillage (ou plantage) d'une
table?


-Une requete de création / update mal écrite ? (aucun message d'erreur sur
aucune des applications ayant accès à la base de données.
-???

Avez-vous déjà rencontré ce problème ou quels sont les actions qui puissent
engendré ce genre de problème?
Et quel est le moyen de "déverrouiller" cet table sans redemarrer le
serveur.

Merci d'avance,

Nicolas

1 réponse

Avatar
Fred BROUARD
Bonjour,



Nicolas BERNARD a écrit:
Bonjour,

Je constate un problème récurent sur un serveur SQL :

Une seul des tables de la base de données se verrouille en écriture/mise à
jour et entraine des Timeout Expiré lorsque l'on execute ce type de requete
vers cette table. Par contre les requetes de sélections fonctionnent
toujours.
L'Entreprise Manager plante lorsque l'on essaye de modifier un
enregistement.
Toutes les autres tables fonctionnent correctement.


Quelles pourrait être les raisons d'un verrouillage (ou plantage) d'une
table?



Il faut d'abord jeter un coup d'oeuil aux verrous et aux bloquages (un bloquage
est normal. Un bloquage qui dure c'est anormal).
Pour cela vous disposez de la table sysprocesses et dan EM des vues d'activités.



-Une requete de création / update mal écrite ? (aucun message d'erreur sur
aucune des applications ayant accès à la base de données.
-???



Les principales raisons d'un bloquage sont la mauvaise écriture de procédures
stockées, requêtes et bien souvent des transactions, surtout si elles sont
effectuées dans le code client.



Avez-vous déjà rencontré ce problème ou quels sont les actions qui puissent
engendré ce genre de problème?
Et quel est le moyen de "déverrouiller" cet table sans redemarrer le
serveur.



Tuer le processus bloquant, ce qui résoud le problème ponctuellement, mais ne
l'empêchera pas de revenir...

Pour cela il faut ré étudier le code.

A +


Merci d'avance,

Nicolas






--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************