Ver Mensaje Individual
  #2  
Antiguo 30-06-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
El error está claro y se produce porque varios procesos se están bloqueando entre ellos.

Cita:
Empezado por APO Ver Mensaje
...se podría solucionar reduciendo el nivel de aislamiento (poniendo "Set transaction isolation level read uncommitted" en el punto anterior a iniciar la transacción o poniendo "with (nolock)" tras las consultas).
Son 2 cosas distintas.

Lo segundo -WITH (NOLOCK)- debería ser algo "casi-obligatorio" a realizar en todos las consultas de la aplicación, para evitar bloqueos.

Lo primero, es un cambio que conlleva más cosas. Tal vez solucione ese problema concreto, pero cambiar el nivel de aislamiento de las transacciones tiene más implicaciones y hay que saber bien, porqué se hace y qué va a cambiar cuando lo hagas.

Usa lo primero, y de paso revisa el resto de consultas (SELECT) y se lo añades.
Si con eso no se soluciona, yo revisaría las consultas que están provocando el bloqueo (utiliza el SQL Server Profiler), porque eso te puede indicar dónde está el problema del bloqueo.
Es posible que estés lanzando varias transacicones cuando debes lanzar sólo una, que las estés anidando,...

Lo que quiero decir es que intentes ver dónde está el bloqueo y solucionarlo antes de cambiar cosas, porque es posible que esos cambios te lo enmascaren.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita