Page 1 sur 1
Problème de concurrence avec SQL Server : deadlocks fréquents
Publié : dim. févr. 15, 2026 3:42 am
par vincent.d
Aidez-moi svp ! J'ai des deadlocks quotidiens sur SQL Server 2019. Le log montre des conflits entre UPDATE et SELECT sur les mêmes tables. J'ai essayé WITH (NOLOCK) mais les données sont critiques, pas question d'avoir des dirty reads !
Re: Problème de concurrence avec SQL Server : deadlocks fréquents
Publié : dim. févr. 15, 2026 8:42 am
par max1965
NOLOCK c'est la pire solution... As-tu analysé le deadlock graph ? Souvent le problème vient de l'ordre des opérations. Si ton appli fait d'abord SELECT puis UPDATE sur l'ID 123, mais l'inverse dans une autre transaction = deadlock garanti.
Re: Problème de concurrence avec SQL Server : deadlocks fréquents
Publié : dim. févr. 15, 2026 10:42 am
par vincent.d
Oui, le deadlock graph montre exactement ça ! Mais comment imposer un ordre commun ? Les requêtes viennent de services différents...
Re: Problème de concurrence avec SQL Server : deadlocks fréquents
Publié : dim. févr. 15, 2026 5:42 pm
par codeur1974
Plusieurs solutions : 1) Utilise des hints comme UPDLOCK dans tes SELECT 2) Implémente un service centralisé pour ces opérations 3) Passe en isolation level SERIALIZABLE sur les transactions critiques (mais impact perf).
Re: Problème de concurrence avec SQL Server : deadlocks fréquents
Publié : dim. févr. 15, 2026 8:42 pm
par max1965
Je complète : pour les services distribués, une file d'attente (RabbitMQ etc.) peut aider. Sinon en urgence, active deadlock priority pour que certaines transactions soient sacrifiées plutôt que de tout bloquer.
Re: Problème de concurrence avec SQL Server : deadlocks fréquents
Publié : dim. févr. 15, 2026 9:42 pm
par vincent.d
Merci à tous ! Je vais tester UPDLOCK + restructurer les appels dans un ordre cohérent. Si ça suffit pas, j'opterai pour la file d'attente. Je vous tiens au courant.