Compartir a través de


Transacciones de Integration Services

Los paquetes utilizan transacciones para enlazar las acciones de base de datos que las tareas realizan en unidades atómicas y mantener de esta forma la integridad de los datos. Todos los tipos de contenedor de Microsoft Integration Services (los contenedores de paquetes, de bucles For y Foreach o de secuencias, así como los hosts de las tareas que encapsulan cada tarea) se pueden configurar para que usen transacciones. Integration Services proporciona tres opciones para configurar transacciones: NotSupported, Supportedy Required.

  • Required indica que el contenedor inicia una transacción, a menos que el contenedor principal ya haya iniciado otra. Si ya existe una transacción, el contenedor la combina. Por ejemplo, si un paquete que no está configurado para admitir transacciones, incluye un contenedor de secuencias que utiliza la opción Required , el contenedor de secuencias iniciará su propia transacción. Si el paquete se hubiera configurado para utilizar la opción Required , el contenedor de secuencias combinaría la transacción del paquete.

  • Supported indica que el contenedor no inicia una transacción, pero sí combina cualquier transacción iniciada por el contenedor principal. Por ejemplo, si un paquete con cuatro tareas Ejecutar SQL inicia una transacción y las cuatro tareas utilizan la opción Supported , las actualizaciones de la base de datos realizadas por las tareas Ejecutar SQL se revierten si se produce un error en cualquiera de las tareas. Si el paquete no inicia una transacción, las cuatro tareas Ejecutar SQL no estarán enlazadas por una transacción y no se revertirá ninguna actualización de base de datos, excepto las realizadas por la tarea que tuvo el error.

  • NotSupported indica que el contenedor no inicia una transacción ni combina una transacción existente. Una transacción iniciada por un contenedor principal no afecta a los contenedores secundarios configurados de manera que no admitan transacciones. Por ejemplo, si un paquete está configurado para iniciar una transacción y un contenedor de bucles For del paquete utiliza la opción NotSupported , no se revertirá ninguna de las tareas del contenedor de bucles For aunque genere un error.

Para configurar transacciones, hay que establecer la propiedad TransactionOption en el contenedor. Puede establecer esta propiedad en la ventana Propiedades de SQL Server Data Tools (SSDT)o mediante programación.

Nota:

La TransactionOption propiedad influye en si se aplica o no el valor de la IsolationLevel propiedad solicitada por un contenedor. Para obtener más información, consulte la descripción de la IsolationLevel propiedad en el tema Configuración de propiedades del paquete.

Para configurar un paquete para usar transacciones

Recursos externos

Véase también

Transacciones heredadas
Varias transacciones