06 Manual SSIS – Programación ejecución de SSIS mediante Jobs

Una tarea bastante frecuente a la hora de ejecutar SSIS es automatizar su ejecución mediante Jobs en SQL Server. Para esta cuestión necesitamos tener una serie de conceptos claros:

  1. Para ejecutar Jobs necesitamos los servicios de SQL Server Agent que no están incluidos en las versiones Express de SQL Server.
  2. Para ejecutar paquetes SSIS en Jobs necesitamos tener el servicio de Integration Services que tampoco viene incluido en las versiones Express.

Por tanto para estas tareas necesitaremos adquirir alguna licencia de SQL Server. Se puede consultar la lista completa de características de las diferentes versiones en MSDN.

Una vez realizadas estas aclaraciones, veamos cómo crear Jobs en SQL Server.

Para las programaciones de tareas SQL Server usa SQL Server Agent por tanto debemos asegurarnos que lo tengamos iniciado. La administración del mismo se realizará desde SQL Server Management Studio.

SQL Server Agent

Para crear un Job haremos clic con el botón derecho sobre la carpeta Jobs y seleccionaremos “New Job…”.

SQL Server New Job

En el panel izquierdo del cuadro de diálogo “New Job” disponemos de todas las opciones necesarias para generar un Job. En “General” le asignaremos el nombre y una categoría. Además, en caso de crear varios Job puede ser especialmente útil cubrir una descripción para que nos sirva de recordatorio en el futuro.

En “Steps” crearemos cada uno de los pasos (tareas) que debe realizar el Job.

Job Steps

Le daremos un nombre a la tarea o paso del Job y en “Type” especificaremos el tipo de tarea que tiene que ejecutar el Job. Con los tipos disponibles, realmente podremos realizar casi cualquier tipo de tarea. En nuestro caso, seleccionaremos “SQL Server Integration Services Package”. En “Package Source” le indicaremos al Job dónde tiene que ir a buscarlo. En este ejemplo, seleccionaremos “File System” dado que no hemos publicado el paquete en el servidor de SQL Server Integration Services.

Dentro de las propiedades de la ejecución del paquete SSIS, cabe destacar en este momento la pestaña “Data Sources” que nos permite cambiar las cadenas de conexión de cada uno de los Data Sources incluidos en el paquete.

Job Data Source Configuration

Con la opción “Advanced” indicaremos el flujo que debe realizar el job en caso de que la ejecución sea correcta o incorrecta.

Job Step Advanced

Una vez creado el “Step” con la opción “Schedules” crearemos la programación del Job. Para ello SQL Server Agent nos da multitud de opción de programación permitiendo que sea diaria, en intervalos de horas, determinados días de la semana, etc.

Job Scheduled

Con estos pasos, ya tenemos nuestro Job creado y listo para ejecutar.

Para realizar el seguimiento de la ejecución de un Job podemos realizar clic con el botón derecho sobre un determinado Job y hacer clic en “View History”.

Job History

11 comentarios sobre “06 Manual SSIS – Programación ejecución de SSIS mediante Jobs”

  1. Hola! tienes un blog genial! pero tengo una duda con esto…
    el job no se ejecuta y no se porqué, el ETL funciona y no consigo automatizarlo.
    Cuando pasa la hora de ejecución, le doy a history y no aparece nada…
    Si pudieras ayudarme te lo agradecería un montón.

    Saludos

    1. Hola Enrique,
      Muchas gracias por el comentario!

      Antes de nada prueba a hacer botón derecho en el Job e iniciarlo con “Start job at Step…” y selecciona el primer paso de tu Job. Así lanzas una ejecución a mano y te dejará registro en el historial de ejecuciones. Si esto funciona, vete la programación del Job porque el problema estará ahí. Revisa que no tengas activa ninguna fecha de fin de la ejecución, que el Job esté activo en “Enabled”, el “Schedule Type”….. es decir, cualquier parámetro que haga que el Job no funciona como esperas.

      Espero que esto te ayude.

      Saludos!

      1. Buenas de nuevo! gracias por la contestación, estuve toqueteándolo y encontre el error, de novato obviamente (no encendí el agente SQL server…). Ahora me da otro error:

        Error al descifrar el nodo XML “DTS:Password” protegido: 0x8009000B “Clave no válida para utilizar en el estado especificado.”

        He estado buscando en internet y he encontrado que se soluciona cambiando el parámetro de seguridad del paquete… pero así tampoco me funciona.

        Muchas gracias por tu ayuda!

  2. Hola Enrique!

    Sigue los pasos de este link http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/8519452c-67cb-4864-89de-c0042a82b38c/

    Y deberías poder publicar el SSIS sin problema. (La respuesta buena es esta… y ya me dices cómo te fue!!!):

    Let’s Say your package name is MyPackage
    In Visual Studio Go to Control Flow Tab.
    Righ Click on an empty area inside the window not clicking “Data Flow Component” . pop up menu click the the properties to get to the properties window of MyPackage package.

    Under the Security Area -> You will see

    ProtectionLevel — Change that to EncryptSensitiveWithPassword
    PackagePassword — enter password-> temp

    This should do the trick however to be sure:
    Below you will connection managers:
    Database Connections (if more than one preform on all)
    Double Click your connection to get the property pages. Click “ALL” under the Connection Link on Left Side. Scroll Down to Security Area.
    Provide the followings:
    Password (for the sql userid being used)
    Persist Security Info = True

    ———————————————————————-
    Save the Package and connect to SQL Integration Srvices in SQL Manager (To Server e.g; DBServer (Integration Services)

    Stored Packages -> MSDB –> Right Click –> choose Import Package

    in the property dialog box
    Package Location : File System
    Package Path — Choose the location of your dtsx file. (MyPackage.dtsx)

    Leave everything default.

    Click OK.

    Dialog box will appear asking for the Package Password
    Provide the password-> temp

    You have successfully imported the package called MyPackage.

    In order to create a job.

    In the job Step->

    Type: SQL Server Integration Services Package
    In the General Tab:
    Package Source : SSIS Package Store
    Server : DBServer (Where we stored our package above)

    Click the button for the package: Choose your package (MyPackage)

    Click OK :

    It will ask the package password again : temp

    Package has successfully been loaded to Job Step. Now you can schedule and do a test run on the job.

  3. Buen día:
    Gracias por este aporte, esta claro los pasos que indicas para crear un job.
    Estoy generando un job para ejecutar un paquete en SSIS el cual me arroja el siguiente error.
    “Unable to open Step output file. The step failed”
    Saludos.

    1. Hola Juventino!

      Entiendo que el paso es de un SSIS que está generando un fichero de Log ¿Está correctamente configurada la ruta donde se escribe ese log? ¿Tienes configurados los permisos para que SQL Server Agent pueda escribir?

      Muchas gracias por tu visita!

  4. man se puede abrir un proyecto de .net sobre el visual studio 2010 que viene con el sql server 2012, intente hacerlo me dice por razones de seguridad, la DTD esta prohibida en este documento XML. para habilitar el procesamiento de la DTD, establezca la propiedad DTDprocesing de xmlreadersettings.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s