Para identificar problemas como este, hay que dar seguimiento al servicio para diagnosticar que puede suceder.
Algunas recomendaciones para el diagnóstico del problema:
-
En la bitácora el número que aparece entre corchetes es el Id del Thread que ejecuta el cálculo. Entonces se debe tener cuidado al leer la bitácora de identificar cronológicamente los mensajes con el mismo Id del Thread.
-
El mensaje "borrando la tabla temporal ..." se muestra inmediatamente antes de ejecutar la instrucción DELETE.
-
La siguiente instrucción luego del DELETE es un mensaje que se envia al log, documentando el número total de registros eliminados.
-
Si la bitácora NO muestra el mensaje del número de registros, entonces definitivamente el problema está relacionado con la tabla temporal.
-
Si no has modificado la configuración del servicio (GenPlaWinService.exe.config), entonces esta habilitado para ejecutar dos planillas en paralelo.
-
Si dos planillas se envían a calcular al mismo tiempo, hay un sistema de semáforos que serializa la concurrencia, cuando se hacen accesos a la base de datos, por ejemplo el DELETE de la tabla temporal.
-
Recordá que el SQL Profiler te permite monitorear los accesos a la base de datos, esta puede ser una manera de encontrar problemas como los Deadlocks
Finalmente, diagnósticar un problema como este tiene que ver con encontrar un patrón que se repite cuando falla el servicio. Una vez identificas el patrón se pueden intentar soluciones.
Por favor, danos retroalimentación sobre este problema, así podemos contribuir a la solución.
answered
28 Jan '16, 09:42
Fernando Paz ♦♦
17.3k●8●16●35
accept rate:
51%