PDA

Ver la Versión Completa : Lanzar procedimiento


kalimero
26-04-2004, 18:50:24
Hola a Todos.

He creado dos procedimientos almacenados en un servidor SQL Server.
El Primero realiza una serie de actualizaciones sobre unas tablas. Recibe como parametro un codigo y tarda unos 2o o 25 s. en realizar su trabajo.

El segundo recoge todos los codigos sobre los que se va a actualizar mediante una select y a traves de un bucle se llama al primer procedimiento. Actualmente en la tabla de codigos hay solo tres, por lo que el proceso total tarta aprox. un minuto. Cuando está punto de cumplir el minuto, es decir está actualizando el ultimo (mas o menos), se prodeuce un error ("Termino el tiempo de espera").

he pensado que estas actualizaciones se realicen por la noche, cuando en la empresa no hay ninguna actividad.

¿Como le digo a SQL SERVER que me lance el procedimiento?
¿Como puedo solucionar el tema del tiempo de espera?.

Saludos y gracias de antemano

__hector
26-04-2004, 19:28:58
Para lanzar el procedimiento, programate una tarea (Task) con un agente, en Management/SQL Server Agent/Jobs.

El timeout que dices que te da la conexion, es propia del SQL Query Analyzer, que puede configurarse en: Tools\Options\Connections\Query Timeout. En el caso de que programes el agente, no creo que ese problema continue.

kalimero
26-04-2004, 19:41:22
Gracias Hector. Voy a probar con tus recomendaciones

Saludos

guillotmarc
26-04-2004, 19:41:27
Hola.

El mensaje de Tiempo de espera agotado, problablemente te lo estén dando los componentes ADO, así que puedes usar el siguiente Truco de Marteens
http://www.marteens.com/trick36.htm

Respecto a lanzar el procedimiento por la noche, o bien puedes hacer un programa Delphi, que lanze el procedimiento almacenado al llegar a la hora fijada (mediante un TADOStoredProc). O bien puedes crear un Plan de Mantenimiento del SQL Server, para que el propio SQL Agent del SQL Server, te llame al procedimiento. (El Plan de Mantenimiento se crea mediante el Administrador Corporativo de SQL Server, dentro del apartado de Administración, Agente de SQL Server, Trabajos, ...).

Saludos.

guillotmarc
26-04-2004, 19:42:54
Se me han adelantado.

kalimero
27-04-2004, 09:46:55
Ok Gracias a los dos. Me habeis aclarado el tema.
En cuanto al tema del tiempo de espera si , es cierto que está relacionado co el componente ADO. Ese mismo procedimiento ejecutado desde el analizador de consultas tarda 36 s. y no da ningun problema.
En fin gracias y saludos.

Isaac
27-04-2004, 19:22:33
Yo los ejecuto con EXEC