none
Volver a ejecutar un Job RRS feed

  • Pregunta

  • HOla, tengo un problema: Estoy trabajando con jobs para la actualización de varias tablas de una base de datos. Estos están programados para que se ejecuten diario a cierta hora. 

    Necesito que en una tabla de control se registre el nombre de ese job y un status de ejecución, es decir, si se ejecuto bien que se inserte un status de correcto, y si por cualquier causa no se ejecutó, que registre un status de error, y que los que se registraron con status de error los vuelva a ejecutar de manera automática al siguiente día. 

    Mis preguntas son, todo esto se puede hacer directo en sql? como puedo insertar esos datos en la tabla de control? y de donde leo la falla del job si no se ejecutó para que pueda insertar el status de error en la tabla?

    Agradecería muchísimo su ayuda.

    Estoy trabajando sobre SQL Server 2008 R2

    miércoles, 19 de diciembre de 2012 17:30

Respuestas

  • La siguiente instrucción te obtiene los datos de los JOBs en tu server, así como otros datos y el que tu necesitas es last_run_outcome,también te dejo la liga a los libros en línea de Microsoft ( sp_help_job )

    exec msdb.dbo.sp_help_job
    

     tu server, PAra poder ejecutar nuevamente el JOB necesitas sp_start_job

    exec msdb.dbo.sp_start_job @job_name='nombreDeTuJOB'

    Para ambas instrucciones necesitas, debes ser el SA o debes darle acceso a tu usuario para poder ejecutar dichas instrucciones( TEN CUIDADO ).

    SALUDOS !


    Sergio Sánchez Arias

    • Marcado como respuesta Isa_Sánchez miércoles, 19 de diciembre de 2012 18:56
    miércoles, 19 de diciembre de 2012 18:32

Todas las respuestas

  • Hola:

    SQL SERVER ya tiene la opción de intentar correr un JOB en dado caso que falle, observa:

    Das doble click en tu JOB, luego en Steps, luego doble click en el Step y en la pestaña Advanced viene la opción.

    SALUDOS !


    Sergio Sánchez Arias

    miércoles, 19 de diciembre de 2012 17:40
  • Muchas gracias por tu respuesta, aun no sabía que existía esa opción. Pero aun así necesito saber si hay alguna forma de leer en Error Logs si un job no se ejecutó bien y por medio de otro sp que se vuelva a ejecutar si es que algún job falló. 
    miércoles, 19 de diciembre de 2012 18:14
  • La siguiente instrucción te obtiene los datos de los JOBs en tu server, así como otros datos y el que tu necesitas es last_run_outcome,también te dejo la liga a los libros en línea de Microsoft ( sp_help_job )

    exec msdb.dbo.sp_help_job
    

     tu server, PAra poder ejecutar nuevamente el JOB necesitas sp_start_job

    exec msdb.dbo.sp_start_job @job_name='nombreDeTuJOB'

    Para ambas instrucciones necesitas, debes ser el SA o debes darle acceso a tu usuario para poder ejecutar dichas instrucciones( TEN CUIDADO ).

    SALUDOS !


    Sergio Sánchez Arias

    • Marcado como respuesta Isa_Sánchez miércoles, 19 de diciembre de 2012 18:56
    miércoles, 19 de diciembre de 2012 18:32