none
archivos .bat

    Question

  • saludos , una consulta es posible que un proceso bachero que creo son los .bat ejecuten un job o es al reves?, y como lo harían ,
    Saturday, August 18, 2012 7:25 PM

Answers

  • Lo que necesitas entonces es SQLCMD, si estas en localhost desde el terminal o tu .bat puedes hacer algo asi

    >_ sqlcmd -d db -q "select * from tabla_a"

    Los detalles, documentacion y ejemplos puedes verlos aqui, echale una lectura:

    http://msdn.microsoft.com/es-es/library/ms162773.aspx

    http://msdn.microsoft.com/es-es/library/ms166559%28v=sql.105%29.aspx

    http://msdn.microsoft.com/es-es/library/ms170572%28v=sql.105%29.aspx

    Cuentanos como te va y si necesitas mas detalles..


    Monday, August 20, 2012 12:51 AM
  • Hola,

    Desde SSIS puede ejecutar archivos .bat y puedes ejecutar otros paquetes.

     

    • Dentro tu entorno de desarrollo de SSIS, en la pestallaña de Control Flow, existe un componente llamado “Execute Process Task”, este componenete te permite ejecutar procesos externos, como .exe, .bat, etc. Al agregarlo debes configurar los paremtros necesarios generalmente están en la opción de process.
    • Dentro de tu entono de SSIS, existe objetos para poder realizar procesos relacionados a paquetes dtsx y Job.
    • Para ejecutar paquetes, debes irte al Control Flow, agregar el objeto “Execute Package Task”, que es la tarea para ejecutar los paquetes, cuando lo configures debes indicar si la referencia al paquete que quieres ejecutar es internal o externa, internal se refiere que están en la misma locación, externa se refiere que te conectas a un motor de SSIS donde tienes instalado los paquetes.
    • Para ejecutar otros Jobs, debes agregar el objeto “Execute SQL Server Agent Job Task”, configuras la conexión al servidor donde tienes instalados los Jobs.
    • Presento una imagen para referencia, aunque esta en version 2012, el proceso y funcionalidad es el mismo.

     

    Mi recomendaciones.

    • Procura que tus paquetes estén instalado en tu motor de SSIS.
    • Utiliza una cuenta proxy para configurar tus Jobs.
    • Maneja bitácoras.
    • Si tienes procesos de larga duración, puede que requieras configurar checkpoint.
    • Si requieres alguna compactibilidad con versiones 32 bits, configura esa opciones, puedes ahorrarte muchos problemas.
    • Crea una plantilla de paquetes que puedas reutilizar.
    • Procura no utilizar quemado en el código, utiliza variables y expresiones.
    • Si configuras parámetros procura utilizar tablas de configuración no archivos de configuración, esto te puede permitir centralizar la configuración.

    Saludos cordiales


    Ahias Portillo


    Monday, August 20, 2012 4:06 AM
  • Como Ronald menciono tu puedes crear un archivo bat que ejecute la instruccion SQLCmd que se ejecute la instruccion Exec master..SP_Start_Job 'MiJob' y que el Job ejecute la instruccion del DTS..

    Todo eso es redundante porque el Job ejecuta una linea de commandos (me parece que es DTExec.exe) que se puede ejecutar la directamente desde el archivo bat.


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    Monday, August 20, 2012 4:41 AM

All replies

  • Es posible, solo tienes que activar la caracteristica xp_cmdshell en tu servidor y ya lo puedes usar..

    EXEC sp_configure 'show advanced options', 1
    
    RECONFIGURE
    
    EXEC sp_configure 'xp_cmdshell', 1
    
    RECONFIGURE

    Luego asi ejecutas los comandos

    EXEC xp_cmdshell 'dir *.exe';

    http://msdn.microsoft.com/es-es/library/ms175046.aspx

    • Marked as answer by Augusto C Sunday, August 19, 2012 5:45 PM
    • Unmarked as answer by Augusto C Sunday, August 19, 2012 10:40 PM
    Saturday, August 18, 2012 7:35 PM
  • Que es lo que intentas hacer?

    Se puede ejecutar instrucciones y procedimientos de SQL Server desde un archivo bat,
    y ejecutar archivos bat desde SQL Server (como en el ejemplo de Ronald).


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    Sunday, August 19, 2012 7:18 AM
  • Lo que necesito es que un archico .bat me ejecute un job que a su vez debería ejecutar un dts ,o quizas es al reves el job llama al .bat y este ejecuta el dta.

    En verdad desconozco mucho de como funcionaria.

    me ayudaria un ejemplo ams completo ,no solo código.

    Sunday, August 19, 2012 10:43 PM
  • Lo que necesitas entonces es SQLCMD, si estas en localhost desde el terminal o tu .bat puedes hacer algo asi

    >_ sqlcmd -d db -q "select * from tabla_a"

    Los detalles, documentacion y ejemplos puedes verlos aqui, echale una lectura:

    http://msdn.microsoft.com/es-es/library/ms162773.aspx

    http://msdn.microsoft.com/es-es/library/ms166559%28v=sql.105%29.aspx

    http://msdn.microsoft.com/es-es/library/ms170572%28v=sql.105%29.aspx

    Cuentanos como te va y si necesitas mas detalles..


    Monday, August 20, 2012 12:51 AM
  • Hola,

    Desde SSIS puede ejecutar archivos .bat y puedes ejecutar otros paquetes.

     

    • Dentro tu entorno de desarrollo de SSIS, en la pestallaña de Control Flow, existe un componente llamado “Execute Process Task”, este componenete te permite ejecutar procesos externos, como .exe, .bat, etc. Al agregarlo debes configurar los paremtros necesarios generalmente están en la opción de process.
    • Dentro de tu entono de SSIS, existe objetos para poder realizar procesos relacionados a paquetes dtsx y Job.
    • Para ejecutar paquetes, debes irte al Control Flow, agregar el objeto “Execute Package Task”, que es la tarea para ejecutar los paquetes, cuando lo configures debes indicar si la referencia al paquete que quieres ejecutar es internal o externa, internal se refiere que están en la misma locación, externa se refiere que te conectas a un motor de SSIS donde tienes instalado los paquetes.
    • Para ejecutar otros Jobs, debes agregar el objeto “Execute SQL Server Agent Job Task”, configuras la conexión al servidor donde tienes instalados los Jobs.
    • Presento una imagen para referencia, aunque esta en version 2012, el proceso y funcionalidad es el mismo.

     

    Mi recomendaciones.

    • Procura que tus paquetes estén instalado en tu motor de SSIS.
    • Utiliza una cuenta proxy para configurar tus Jobs.
    • Maneja bitácoras.
    • Si tienes procesos de larga duración, puede que requieras configurar checkpoint.
    • Si requieres alguna compactibilidad con versiones 32 bits, configura esa opciones, puedes ahorrarte muchos problemas.
    • Crea una plantilla de paquetes que puedas reutilizar.
    • Procura no utilizar quemado en el código, utiliza variables y expresiones.
    • Si configuras parámetros procura utilizar tablas de configuración no archivos de configuración, esto te puede permitir centralizar la configuración.

    Saludos cordiales


    Ahias Portillo


    Monday, August 20, 2012 4:06 AM
  • Como Ronald menciono tu puedes crear un archivo bat que ejecute la instruccion SQLCmd que se ejecute la instruccion Exec master..SP_Start_Job 'MiJob' y que el Job ejecute la instruccion del DTS..

    Todo eso es redundante porque el Job ejecuta una linea de commandos (me parece que es DTExec.exe) que se puede ejecutar la directamente desde el archivo bat.


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    Monday, August 20, 2012 4:41 AM