Quando si esegue una stored procedure (da un'applicazione .NET) che esegue un INSERT e un UPDATE, a volte ottengo questo errore (ma non molto spesso) :Sybase ASE: "Il comando del server ha rilevato una situazione di deadlock"
ERROR [40001] [DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]Your server command (family id #0, process id #46) encountered a deadlock situation. Please re-run your command.
Come posso risolvere questo?
Grazie.
Sai cos'è un deadlock, perché può verificarsi un deadlock ... e perché * sta * accadendo con * il tuo * codice? Hai provato a usare Google come "sybase" e "deadlock"? – ChrisW
Sì, lo so, sì, ho cercato su Google. Il fatto è che la situazione di stallo si verifica molto raramente. Poiché la query è semplice (un aggiornamento e un inserto), dovrebbe essere nel peggiore dei casi * ritardata * dal server se qualche altro blocco lo blocca, non solo buttarlo fuori. Inoltre, l'errore non dice su quale era il deadlock (quale tabella, riga, ecc.) Che rende difficile risolvere il problema. Non riesco a impedire manualmente l'accesso a 2 query sul server allo stesso tempo! – Laurent
Un deadlock non ritarda mai altri processi interrompe l'altro processo - Vorrei saperne di più su deadlock come non hai mostrato comprensione – Mark