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:
- Para ejecutar Jobs necesitamos los servicios de SQL Server Agent que no están incluidos en las versiones Express de SQL Server.
- 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.
Para crear un Job haremos clic con el botón derecho sobre la carpeta Jobs y seleccionaremos «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.
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.
Con la opción «Advanced» indicaremos el flujo que debe realizar el job en caso de que la ejecución sea correcta o incorrecta.
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.
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».







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
PD: Estoy usando SQL 2012 y visual 2010
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!
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!
Hola de nuevo! el error ese que te comento no lo consigo solucionar… ¿se te ocurre algo?
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.