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 ?
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 +
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/ * * * * *
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 ...
Partager