SQL Server cierra la conexión

03/07/2007 - 16:29 por Eclat | Informe spam
Muy buenas de nuevo, tengo un problemilla que después de mucho pelear
pensando que era un problema del W2003 R2, creo que va a venir más bien
por el SQL Server 2005.

Resulta que en la oficina tenemos instalado un ERP. Todos los usuarios
se conectan por Terminal Server a un servidor de aplicaciones, que a su
vez, cuando ejecutan el ERP, éste se conecta a una base de datos que hay
en un servidor de datos.

El caso es que cuando un usuario determinado deja el ordenador un rato
sin hacer nada (me refiero al ERP, es decir, no trabaja dentro de la
sesión de TS), la conexión con la BD se pierde, con lo que el programa
comienza a fallar como una escopeta de feria sin razón aparente. Además,
dependiendo del proceso que estuviese realizando pues puede ser más o
menos peligroso.

Mirando y mirando, he visto en el SQL Server Configuration Manager, en
Configuración de red de SQL Server 2005 que está habilitado Memoria
Compartida (que no sé si no será mejor deshabilitarlo según he leido) y
TCP/IP habilitado, y dentro de las propiedades de TCP/IP está:
Escuchar todo: Sí
Habilitado: Sí
Mantener conexión: 30000
Sin retraso: No

Según he estado leyendo, veo que el 30000 es el tiempo en milisegundos
que SQL Server permite que una conexión esté inactiva, lo cual me deja
una duda, si sólo son 30 segundos, entonces, en cualquier aplicación
normal, ¿un usuario no se puede quedar quieto 30 seg? :D

¿Qué valor tenéis normalmente especificado aquí? Entiendo que 0 es que
no compruebe y que no es recomendable, así que ¿qué valor recomendáis?
Si le pongo 0 un par de días para probar si el error viene por aquí,
creeis que habrá algún problema.

Salu2 y gracias,
 

Leer las respuestas

#1 Isaias
03/07/2007 - 18:30 | Informe spam
Eclat

El problema esta en la forma de realizar la conexion, esta solo debe
permanecer activa, cuando se necesita.

La logica es:

Me conecto
Ejecuto
Recibo
Me desconecto

Por lo que leo, tu aplicato ABRE UNA CONEXION y siempre la mantiene abierta,
por logica, un navegador, hace un refresh de forma automatica cada 30
segundos, ahi, se pierde dicha conexion si esta, no esta activa.

Saludos
Saludos
IIslas


"Eclat" wrote:

Muy buenas de nuevo, tengo un problemilla que después de mucho pelear
pensando que era un problema del W2003 R2, creo que va a venir más bien
por el SQL Server 2005.

Resulta que en la oficina tenemos instalado un ERP. Todos los usuarios
se conectan por Terminal Server a un servidor de aplicaciones, que a su
vez, cuando ejecutan el ERP, éste se conecta a una base de datos que hay
en un servidor de datos.

El caso es que cuando un usuario determinado deja el ordenador un rato
sin hacer nada (me refiero al ERP, es decir, no trabaja dentro de la
sesión de TS), la conexión con la BD se pierde, con lo que el programa
comienza a fallar como una escopeta de feria sin razón aparente. Además,
dependiendo del proceso que estuviese realizando pues puede ser más o
menos peligroso.

Mirando y mirando, he visto en el SQL Server Configuration Manager, en
Configuración de red de SQL Server 2005 que está habilitado Memoria
Compartida (que no sé si no será mejor deshabilitarlo según he leido) y
TCP/IP habilitado, y dentro de las propiedades de TCP/IP está:
Escuchar todo: Sí
Habilitado: Sí
Mantener conexión: 30000
Sin retraso: No

Según he estado leyendo, veo que el 30000 es el tiempo en milisegundos
que SQL Server permite que una conexión esté inactiva, lo cual me deja
una duda, si sólo son 30 segundos, entonces, en cualquier aplicación
normal, ¿un usuario no se puede quedar quieto 30 seg? :D

¿Qué valor tenéis normalmente especificado aquí? Entiendo que 0 es que
no compruebe y que no es recomendable, así que ¿qué valor recomendáis?
Si le pongo 0 un par de días para probar si el error viene por aquí,
creeis que habrá algún problema.

Salu2 y gracias,

Preguntas similares