Contenedores de Integration Services
Se aplica a: SQL Server SSIS Integration Runtime en Azure Data Factory
Los contenedores son objetos de SQL Server Integration Services que proporcionan estructura a los paquetes y servicios a las tareas. Permiten repetir flujos de control en paquetes y agrupan tareas y contenedores en unidades de trabajo significativas. Los contenedores pueden incluir otros contenedores, además de tareas.
Los paquetes usan contenedores para los siguientes fines:
Repetir tareas para cada elemento de una colección, como archivos de una carpeta, esquemas u objetos de administración de SQL Server (SMO). Por ejemplo, un paquete puede ejecutar instrucciones de Transact-SQL almacenadas en varios archivos.
Repetir las tareas hasta que una expresión especificada se evalúe como false. Por ejemplo, un paquete puede enviar un mensaje de correo electrónico distinto siete veces, una vez cada día de la semana.
Agrupar tareas y contenedores que deben completarse correctamente o no completarse como una unidad (todas o ninguna). Por ejemplo, un paquete puede agrupar tareas que eliminan y agregan filas de una tabla de base de datos, y confirmar o revertir todas las tareas si una no se completa correctamente.
Tipos de contenedor
Integration Services proporciona cuatro tipos de contenedores para generar paquetes. En la tabla siguiente se muestran los tipos de contenedor.
Contenedor | Descripción |
---|---|
Contenedor Foreach Loop | Ejecuta un flujo de control repetidamente mediante un enumerador. |
Contenedor de bucles For | Ejecuta un flujo de control repetidamente probando una condición. |
contenedor de secuencias | Agrupa tareas y contenedores en flujos de control que son subconjuntos del flujo de control del paquete. |
contenedor de tarea | Proporciona servicios a una tarea individual. |
Los paquetes y los controladores de eventos también son tipos de contenedores. Para obtener información, vea Paquetes de Integration Services (SSIS) y Controladores de eventos de Integration Services (SSIS).
Resumen de propiedades de contenedor
Todos los tipos de contenedor tienen un conjunto de propiedades comunes. Si se crean paquetes con las herramientas gráficas de Integration Services , en la ventana Propiedades se enumeran las siguientes propiedades de los contenedores de bucles Foreach, bucles For y secuencias. Las propiedades del contenedor del host de la tarea se configuran como parte de la configuración de la tarea que el host de la tarea encapsula. Las propiedades del host de la tarea se establecen al configurar la tarea.
Propiedad | Descripción |
---|---|
DelayValidation | Valor booleano que indica si la validación del contenedor se retrasa hasta el tiempo de ejecución. El valor predeterminado de esta propiedad es False. Para obtener más información, vea DelayValidation. |
Descripción | Descripción del contenedor. La propiedad contiene una cadena, pero puede estar en blanco. Para obtener más información, vea Description. |
Deshabilitar | Valor booleano que indica si el contenedor se ejecuta. El valor predeterminado de esta propiedad es False. Para obtener más información, vea Disable. |
DisableEventHandlers | Valor booleano que indica si los controladores de eventos asociados al contenedor se ejecutan. El valor predeterminado de esta propiedad es False. |
FailPackageOnFailure | Valor booleano que especifica si el paquete genera un error cuando se produce un error en el contenedor. El valor predeterminado de esta propiedad es False. Para obtener más información, vea FailPackageOnFailure. |
FailParentOnFailure | Valor booleano que especifica si el contenedor primario genera un error cuando se produce un error en el contenedor. El valor predeterminado de esta propiedad es False. Para obtener más información, vea FailParentOnFailure. |
ForcedExecutionValue | Si ForceExecutionValue se configura como True, objeto que contiene el valor de ejecución opcional del contenedor. El valor predeterminado de esta propiedad es 0. Para obtener más información, vea ForcedExecutionValue. |
ForcedExecutionValueType | El tipo de datos de ForcedExecutionValue. El valor predeterminado de esta propiedad es Int32. |
ForceExecutionResult | Valor que especifica el resultado forzado de la ejecución del paquete o contenedor. Los valores son None, Success, Failurey Completion. El valor predeterminado de esta propiedad es None. Para obtener más información, vea ForceExecutionResult. |
ForceExecutionValue | Valor booleano que especifica si se debería forzar a que el valor de ejecución opcional del contenedor contenga un valor concreto. El valor predeterminado de esta propiedad es False. Para obtener más información, vea ForceExecutionValue. |
Id | GUID del contenedor, que se asigna cuando se crea el paquete. Esta propiedad es de solo lectura. ID. |
IsolationLevel | Nivel de aislamiento de la transacción del contenedor. Los valores son Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializabley Snapshot. El valor predeterminado de esta propiedad es Serializable. Para obtener más información, vea IsolationLevel. |
LocaleID | Una configuración regional de Microsoft Win32. El valor predeterminado de esta propiedad es la configuración regional del sistema operativo del equipo local. Para obtener más información, vea LocaleID. |
LoggingMode | Valor que especifica el comportamiento de registro del contenedor. Los valores son Disabled, Enabledy UseParentSetting. El valor predeterminado de esta propiedad es UseParentSetting. Para más información, consulte DTSLoggingMode. |
MaximumErrorCount | Cantidad máxima de errores que se pueden producir antes de que un contenedor deje de ejecutarse. El valor predeterminado de esta propiedad es 1. Para obtener más información, vea MaximumErrorCount. |
Nombre | nombre del contenedor. Para más información, consulte Name. |
TransactionOption | Participación transaccional del contenedor. Los valores son NotSupported, Supportedy Required. El valor predeterminado de esta propiedad es Supported. Para más información, consulte DTSTransactionOption. |
Para obtener información sobre todas las propiedades disponibles para los contenedores de bucles Foreach, bucles For, secuencias y host de la tarea cuando se configuran mediante programación, vea los siguientes temas de la API de Integration Services :
T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop
T:Microsoft.SqlServer.Dts.Runtime.ForLoop
T:Microsoft.SqlServer.Dts.Runtime.Sequence
T:Microsoft.SqlServer.Dts.Runtime.TaskHost
Objetos que extienden la funcionalidad de un contenedor
Los contenedores incluyen flujos de control formados por ejecutables y restricciones de precedencia, y pueden usar controladores de eventos y variables. El contenedor del host de la tarea es una excepción: puesto que este contenedor encapsula una única tarea, no utiliza las restricciones de precedencia.
Ejecutables
Los ejecutables hacen referencia a las tareas de nivel de contenedor y a cualquier contenedor contenido en el contenedor. Un ejecutable puede ser una de las tareas y los contenedores proporcionados por Integration Services , o una tarea personalizada. Para más información, consulte Integration Services Tasks.
Restricciones de precedencia
Las restricciones de precedencia vinculan los contenedores y las tareas del mismo contenedor principal en un flujo de control ordenado. Para obtener más información, vea Restricciones de precedencia.
Controladores de eventos
Los controladores de eventos de nivel de contenedor responden a eventos provocados por el contenedor o por los objetos que incluye. Para más información, vea Controladores de eventos de Integration Services (SSIS).
variables
Las variables que se usan en contenedores incluyen las variables del sistema de nivel de contenedor proporcionadas por Integration Services y las variables definidas por el usuario usadas por el contenedor. Para más información, consulte Variables de Integration Services (SSIS).
Puntos de interrupción
Al establecer un punto de interrupción en un contenedor y si la condición de interrupción es Salto cuando el contenedor recibe el evento OnVariableValueChanged, defina la variable en el ámbito del contenedor.