Tarea Ejecutar paquete

La tarea Ejecutar paquete amplía las capacidades empresariales de Integration Services, ya que permite que los paquetes ejecuten otros paquetes como parte de un flujo de trabajo.

Puede usar la tarea Ejecutar paquete para los siguientes fines:

  • Descomponer un flujo de trabajo de paquetes complejo. Esta tarea permite descomponer el flujo de trabajo en varios paquetes, más fáciles de leer, probar y mantener. Por ejemplo, si está cargando datos en un esquema de estrella, puede crear un paquete independiente para llenar cada dimensión y la tabla de hechos.

  • Reutilizar partes de paquetes. Otros paquetes pueden reutilizar partes de un flujo de trabajo de paquete. Por ejemplo, es posible generar un módulo de extracción de datos al que se pueda llamar desde diferentes paquetes. Cada paquete que llama al módulo de extracción puede realizar distintas operaciones de limpieza, filtrado o agregación de datos.

  • Agrupar unidades de trabajo. Las unidades de trabajo pueden encapsularse en paquetes independientes y combinarse como componentes transaccionales con el flujo de trabajo de un paquete primario. Por ejemplo, el paquete primario ejecuta los paquetes accesorios y, en función del resultado de la ejecución de los paquetes de accesorios, confirma o revierte la transacción.

  • Controlar la seguridad de los paquetes. Los autores de paquetes necesitan tener acceso a solo una parte de una solución de varios paquetes. Al separar un paquete en varios paquetes, puede proporcionar un mayor nivel de seguridad, ya que puede conceder a un autor acceso únicamente a los paquetes relevantes.

Un paquete que ejecuta otros paquetes se suele denominar paquete primario y los paquetes ejecutados por un flujo de trabajo principal se denominan paquetes secundarios.

La tarea Ejecutar paquete puede ejecutar paquetes almacenados en la base de datos msdb de SQL Server y paquetes almacenados en el sistema de archivos. La tarea utiliza un administrador de conexión OLE DB para conectar con SQL Server y un administrador de conexión de archivos para tener acceso al sistema de archivos. Para obtener más información, vea Administrador de conexiones OLE DB y Administrador de conexión de archivos planos.

La tarea Ejecutar paquete también puede ejecutar un plan de mantenimiento de bases de datos, que permite administrar paquetes de SSIS y planes de mantenimiento de bases de datos en la misma solución Integration Services. Un plan de mantenimiento de bases de datos es similar a un paquete de SSIS, pero un plan solo puede incluir tareas de mantenimiento de bases de datos y siempre se almacena en msdb. Para obtener más información, vea Mantener bases de datos (motor de base de datos) y Tareas de mantenimiento.

Si elige un paquete almacenado en el sistema de archivos, debe proporcionar el nombre y la ubicación del paquete. El paquete puede residir en cualquier parte del sistema de archivos; no tiene que estar en la misma carpeta que el paquete primario.

El paquete secundario puede ejecutarse en el proceso del paquete primario o ejecutarse en su propio proceso. La ejecución del paquete secundario en su propio proceso requiere más memoria, pero ofrece mayor flexibilidad. Por ejemplo, si se produce un error del proceso secundario, el proceso primario podrá seguir ejecutándose.

Sin embargo, a veces puede desearse que el paquete primario y los paquetes secundarios no completen su ejecución como una unidad. También es posible que no desee agregar la sobrecarga de otro proceso. Por ejemplo, si se produce un error en un proceso secundario y el procesamiento posterior del proceso primario del paquete depende de que el proceso secundario se complete correctamente, el paquete secundario deberá ejecutarse en el proceso del paquete primario.

De forma predeterminada, la propiedad ExecuteOutOfProcess de la tarea Ejecutar paquete se establece en False, y el paquete secundario se ejecuta en el mismo proceso que el paquete primario. Si establece la propiedad en True, solo se pueden depurar los paquetes que contienen una funcionalidad limitada. Para depurar todos los paquetes admitidos en su edición de SQL Server, debe instalar Integration Services.

Extender transacciones

La transacción utilizada por el paquete primario puede ampliarse al paquete secundario; por tanto, puede confirmarse o revertirse el trabajo realizado por ambos paquetes. Por ejemplo, las inserciones en la base de datos realizadas por el paquete primario pueden confirmarse o revertirse en función de las inserciones en la base de datos realizadas por el paquete secundario y viceversa. Para obtener más información, vea Transacciones heredadas.

Propagar detalles de registro

El paquete secundario ejecutado por la tarea Ejecutar paquete puede estar configurado o no para usar registro, pero el paquete secundario siempre reenviará los detalles de registro al paquete primario. Si la tarea Ejecutar paquete está configurada para usar registro, la tarea registra los detalles del paquete secundario. Para obtener más información, vea Implementar inicios de sesión en paquetes.

Pasar valores a paquetes secundarios

Frecuentemente, un paquete secundario utiliza valores que le pasa otro paquete que lo llama (generalmente el paquete primario). Utilizar valores de un paquete primario es útil en escenarios como el siguiente:

  • Se asignan partes de un flujo de trabajo más grande a paquetes diferentes. Por ejemplo, un paquete descarga datos todas las noches, resume los datos, asigna valores de datos de resumen a variables y después pasa los valores a otro paquete para un procesamiento adicional de los datos.

  • El paquete primario coordina dinámicamente las tareas de un paquete secundario. Por ejemplo, el paquete primario determina el número de días del mes actual y asigna el número a una variable, y el paquete secundario realiza una tarea ese número de veces.

  • Un paquete secundario requiere acceso a datos derivados dinámicamente por el paquete primario. Por ejemplo, el paquete primario extrae datos de una tabla y carga el conjunto de filas en una variable y el paquete secundario realiza operaciones adicionales en los datos.

Puede utilizar configuraciones de paquetes para poner los valores del paquete primario a la disposición del paquete secundario. Integration Services proporciona un tipo de configuración, la configuración de variable de paquete primario, para pasar valores de paquetes primarios a paquetes secundarios. La configuración se crea en el paquete secundario y utiliza una variable de paquete primario.

La variable de paquete primario puede definirse en el ámbito de la tarea Ejecutar paquete o en un contenedor primario como el paquete. Si hay varias variables con el mismo nombre, se usa la variable definida en el ámbito de la tarea Ejecutar paquete o la variable más cercana en el ámbito a la tarea. A continuación, se asigna la configuración a una variable del paquete secundario o a la propiedad de un objeto en el paquete secundario. También se puede usar la variable en los scripts usados por la tarea Script de ActiveX, la tarea Script o el componente de script.

Para obtener más información, vea Cómo usar los valores de variables primarias en un paquete secundario.

Otras tareas relacionadas

Integration Services incluye tareas que realizan operaciones de flujo de trabajo, como ejecutar paquetes, ejecutables y archivos por lotes de SQL Server 2000.

Para obtener más información sobre estas tareas, haga clic en uno de los temas siguientes:

Configurar la tarea Ejecutar paquete

Puede establecer propiedades a través del Diseñador SSIS o mediante programación.

Para obtener más información acerca de las propiedades que puede establecer en el Diseñador SSIS, haga clic en uno de los temas siguientes:

Para obtener más información sobre cómo establecer estas propiedades en el Diseñador SSIS, haga clic en el siguiente tema:

Configurar la tarea Ejecutar paquete mediante programación

Para obtener más información sobre cómo establecer estas propiedades mediante programación, haga clic en el tema siguiente:

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las más recientes descargas, artículos, ejemplos y vídeos de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.