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 (contenedores de paquetes, de bucles For y Foreach o de secuencias, y hosts de las tareas que encapsulan cada tarea, se pueden configurar para que utilicen transacciones. Integration Services proporciona tres opciones para configurar transacciones: NotSupported, Supported y 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 propiedad TransactionOption tiene influencia sobre el hecho de que el valor de la propiedad IsolationLevel solicitada por un contenedor se aplique o no. Para obtener más información, vea la descripción de la propiedad IsolationLevel en el tema Establecer las propiedades de paquete.
Para configurar un paquete para que utilice transacciones
Recursos externos
- Entrada de blog, Cómo usar transacciones en SQL Server Integration Services (SSIS) (en inglés), en www.mssqltips.com
|