Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Valor de tiempo de espera caducado

Estas en el tema de Valor de tiempo de espera caducado en el foro de SQL Server en Foros del Web. Hola amigos, estoy haciendo un sistema en la base de datos para hacer unas comprobaciones de disponibilidad. La cuestión es que tengo una tabla principal ...
  #1 (permalink)  
Antiguo 19/06/2008, 10:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 23
Antigüedad: 16 años, 5 meses
Puntos: 0
Valor de tiempo de espera caducado

Hola amigos, estoy haciendo un sistema en la base de datos para hacer unas comprobaciones de disponibilidad. La cuestión es que tengo una tabla principal Disponibilidad que se va actualizando cuando hay un cambio en los datos de otra tabla (inserciones, borrado so actualizaciones) mediante desencadenadores.

El problema es que algunos de esos desencadenadores (triggers) son complejos y me tardan 1 minuto y 19 segundos en ejecutarse. Se que no deberían tardar tanto, y estoy buscando una forma de aligerarlos. Pero la cuestion es que cuando inserto un nuevo campo en una tabla en concreto a los 30 segundo me da el mensaje:
---------------------------
Microsoft SQL Server Management Studio
---------------------------
No se ha actualizado ninguna fila.

Los datos de la fila 7980 no se confirmaron.
Origen del error: .Net SqlClient Data Provider.
Mensaje de error: Valor de tiempo de espera caducado. El período de tiempo de espera caducó antes de completar la operación o el servidor no responde.

Corrija los errores e inténtelo de nuevo o presione ESC para cancelar los cambios.


Bien, la cuestión, mientras no encuentro la forma de aligerar ese código, como puedo hacer que no me caduque el tiempo de espera. Es decir, como aumento el timeout para los desencadenadores?

Antes de nada gracias.
  #2 (permalink)  
Antiguo 19/06/2008, 15:51
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

¿Son muy, pero muy complejos sus triggers que se tarden mas de 30 segundos?, para una base como SQL Server, es demasiado tiempo
  #3 (permalink)  
Antiguo 23/06/2008, 02:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 23
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

Si, son muy complejos. Y son completamente necesarios. Se que es mucho tiempo pero por muchas vueltas que le doy no encuentro una forma de hacerlos más ligeros.
  #4 (permalink)  
Antiguo 23/06/2008, 14:53
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

Bueno, dependera entonces de como este haciendo la conexion a la base de datos (ODBC, ADO, DAO)
  #5 (permalink)  
Antiguo 24/06/2008, 08:56
 
Fecha de Ingreso: noviembre-2007
Mensajes: 23
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

SI claro que depende. pero me pasa desde el SQL Management Studio directamente, no te estoy hablando de una página web, ni de una aplicación. Hace los mismo desde la web que desde la base de datos. Eso quiere decir que el problema está en la base de datos.
  #6 (permalink)  
Antiguo 24/06/2008, 10:56
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

Bueno, entonces si le pasa desde el SQLMS, deberia darle tunning a sus consultas.
  #7 (permalink)  
Antiguo 25/06/2008, 03:44
 
Fecha de Ingreso: noviembre-2007
Mensajes: 23
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

Te explico, a ver. El tema es que es una consulta sobre hoteles.

En esta consulta tengo que generar una cadena con 1 y 0 para cada día del año diciendo si el hotel está disponible. Hay 6 parámetros que puedan hacer que un hotel no esté disponible y tengo que comprobar los 6 para cada día del año para poder hacer la susodiucha cadena.
  #8 (permalink)  
Antiguo 25/06/2008, 18:27
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

nos muestras tu script?
  #9 (permalink)  
Antiguo 08/07/2008, 08:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 23
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

Al final consegui optimizarlo. Sin embargo hay otro script del estilo que me sigue dando ese mismo problema. Es una tochoconsulta de 1k lineas aproximadamente (lo se es una animalada) que yo no programé pero tengo que modificarla.

Si quereis os la pongo pero es MUY grande.
  #10 (permalink)  
Antiguo 04/11/2009, 06:48
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

cmd.CommandTimeout = 5000
Atte Victor
  #11 (permalink)  
Antiguo 09/12/2009, 08:48
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

Cita:
Iniciado por Victordemi Ver Mensaje
cmd.CommandTimeout = 5000
Atte Victor
Podrías ser un poco más específico?

Gracias
  #12 (permalink)  
Antiguo 09/12/2009, 10:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

En pocas palabras que aumentes el tiempo de espera, antes de mandar un TIME OUT, con lo cual no estoy de acuerdo, ya que puedes ponerle 1 hora (por ejemplo), ¿Pero y el usuario se esperaria 1 hora en recibir una respuesta?

Desde mi punto de vista, todo aquello que se tarde mas de 30 segundos y sea de tipo interactivo, esta mal programado.
  #13 (permalink)  
Antiguo 01/08/2010, 18:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

Como puede ser mal programado si x ejemplo para 2millones de registros al hacer un INSERT SELECT el se demora de 58 a 60 segundos o hasta mas quedeberia hacer ahi...xD
  #14 (permalink)  
Antiguo 02/08/2010, 09:52
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

Revisar la forma en que lo esta haciendo, indices, espacios de base de datos, etc.
  #15 (permalink)  
Antiguo 05/08/2010, 09:47
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Valor de tiempo de espera caducado

Cita:
Iniciado por papitrillos Ver Mensaje
Como puede ser mal programado si x ejemplo para 2millones de registros al hacer un INSERT SELECT el se demora de 58 a 60 segundos o hasta mas quedeberia hacer ahi...xD
Hola, tema de:
cmd.CommandTimeout = 5000 no es el problema.
Como bien indican es problema de tunning (índices fragmentados, querys optimizables, etc...) A mi me da que pueden ser deadlocks...

De todas maneras unas prácticas a tener en cuenta podrían ser:
- el buen uso de Begin, commit y rollback transaction, evitan deadlocks...
- Uso de tablas temporales y/o clonadas (mantener 2 tablas idénticas y trabajar con la clonada en las querys, etc...

También existen herramientas de optimización para tus querys, trazas, etc...

Saludos
  #16 (permalink)  
Antiguo 14/06/2011, 16:59
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

La mejor opcion es utilizar Oracle o Postgres. Sqlserver es de lo peor que he visto.
  #17 (permalink)  
Antiguo 15/06/2011, 09:09
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Valor de tiempo de espera caducado

No comments........jchicangana
__________________
MCTS Isaias Islas
  #18 (permalink)  
Antiguo 08/11/2011, 10:00
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Valor de tiempo de espera caducado

Deshabilita el firewall de Windows donde tengas corriendo el SQL Server. Si no trata de crearle una excepción.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:17.