Problème de concurrence avec SQL Server : deadlocks fréquents

MySQL, PostgreSQL, requetes, optimisation
vincent.d
Messages : 11
Inscription : jeu. mai 28, 2026 7:25 pm

Problème de concurrence avec SQL Server : deadlocks fréquents

Message 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 !
max1965
Messages : 247
Inscription : mer. mai 08, 2024 7:24 pm

Re: Problème de concurrence avec SQL Server : deadlocks fréquents

Message 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.
Full AMD, full silence
vincent.d
Messages : 11
Inscription : jeu. mai 28, 2026 7:25 pm

Re: Problème de concurrence avec SQL Server : deadlocks fréquents

Message par vincent.d »

Oui, le deadlock graph montre exactement ça ! Mais comment imposer un ordre commun ? Les requêtes viennent de services différents...
codeur1974
Messages : 185
Inscription : dim. mars 17, 2024 7:24 pm

Re: Problème de concurrence avec SQL Server : deadlocks fréquents

Message 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).
max1965
Messages : 247
Inscription : mer. mai 08, 2024 7:24 pm

Re: Problème de concurrence avec SQL Server : deadlocks fréquents

Message 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.
Full AMD, full silence
vincent.d
Messages : 11
Inscription : jeu. mai 28, 2026 7:25 pm

Re: Problème de concurrence avec SQL Server : deadlocks fréquents

Message 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.
Répondre