Bonjour,
J'ai remarqué à plusieurs reprises que des processus ayant le status SLEEPING bloquent beaucoup d'autres processus, qui sont en attente après la terminaison de celui-ci...
Est-il possible de spécifier à SQL Server de passer outre ?
Version imprimable
Bonjour,
J'ai remarqué à plusieurs reprises que des processus ayant le status SLEEPING bloquent beaucoup d'autres processus, qui sont en attente après la terminaison de celui-ci...
Est-il possible de spécifier à SQL Server de passer outre ?
demande trop vague....
A +
Désolé, je vais préciser:
- J'ai une table dans laquelle ont lieu énormément de transactions par jour
- Sur cette table est un after trigger qui bouge les messages (donc quasiment instantanément) vers d'autres tables en fonction de la valeur d'une colonne.
- Plusieurs applications accèdent à cette table
- Toutes les transactions qui ont lieu sur cette table sont basées sur la valeur de la clé primaire qui est auto-incrémentée
- Je ne pense pas pouvoir réduire la taille des transactions, autant dans les procédures stockées que dans le trigger.
La charge du CPU très souvent élevée, et les procédures stockées qui utilisent cette table sont celles qui prennent le plus de temps. Comme les transactions du trigger font partie de la transaction qui les as déclenchées ... bref, la BD est lente.
En requêtant sur MASTER.dbo.sysprocesses j'ai souvent la colonne Blocked != 0.
Je ne sais pas comment sortir ce serveur de ce problème ...