Buenos dias,
Accediendo a SQLSERVER desde ASP.NET, he observado que se me abren procesos
en la BD (lógico no? administrador corporativo->administración->actividad
actual ->información del proceso).
Cada vez que abro una conexión a la BD desde sqlclient de .net, un nuevo
proceso aparece en la lista, hasta aquí bien. Lo sorpendente, es que tras
cerrar las conexiones, el proceso sigue allí! (conn.close hecho,
evidentemente) A veces, tras cerrar la conexión hago conn.dispose(), y
quedan menos procesos abiertos, pero siguen quedando algunos!
En una aplicación grande que estoy haciendo, al final tengo cientos de
procesos, y llega un punto en el que el SQLSERVER ya no puede más y me
devuelve el error:
Valor de tiempo de espera caducado. El período de tiempo de espera expiró
antes de obtener una conexión del grupo. Esto puede suceder porque todas las
conexiones de la agrupación estaban en uso y se alcanzó el máximo tamaño del
grupo.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.
Detalles de la excepción: System.InvalidOperationException: Valor de tiempo
de espera caducado. El período de tiempo de espera expiró antes de obtener
una conexión del grupo. Esto puede suceder porque todas las conexiones de la
agrupación estaban en uso y se alcanzó el máximo tamaño del grupo
He buscado por internet y he visto que MUCHOS tienen el mismo problema, pero
no hay soluciones. Algunos proponen alargar el timeout, pero con eso no se
arregla nada, ya que los procesos siguen quedando abiertos...
Gracias de antemano por su ayuda,
Jesús
Leer las respuestas