Chequea los triggers.
Los deadlock (anillos de la muerte) se producen normalmente (posiblemente haya más motivos, no soy un guru) cuando el trigger de una tabla A repercute sobre una tabla B, cuyos trigger directa o indirectamente vuelven a modificar la tabla A, es decir, haciendo referencia a ésta o modificando otras tablas que hagan modificaciones sobre la tabla A. Cuando la base de datos tiene una tabla en modo Update (haciendo los triggers before y after update correspondiente) y le llega una petición de modificación de esa tabla en la misma transacción obtienes un bonito mensaje de "deadlock". También se puede producir por triggers DELETE e INSERT.
Cuando son por recursión son muy difíciles de detectar, así que suerte.
Saludos.
|