Transactions Integration Services
Les packages utilisent les transactions pour lier les actions de base de données que les tâches effectuent en unités atomiques, et maintiennent ce faisant l'intégrité des données. Tous les types de conteneurs Microsoft Integration Services (packages, conteneurs de boucles For et Foreach et conteneurs de séquences, ainsi que les hôtes de tâches qui encapsulent chaque tâche) peuvent être configurés pour utiliser les transactions. Integration Services offre trois options de configuration des transactions : NotSupported, Supported et Required.
Required indique que le conteneur démarre une transaction, à moins qu'une autre transaction soit déjà démarrée par son conteneur parent. Si la transaction existe déjà, le conteneur rejoint la transaction. Par exemple, si un package non configuré pour prendre en charge les transactions inclut un conteneur de séquences utilisant l'option Required, le conteneur de séquences démarre sa propre transaction. Si le package a été configuré pour utiliser l'option Required , le conteneur de séquences rejoint la transaction du package.
Supported indique que le conteneur ne démarre pas de transaction, mais rejoint toute transaction démarrée par son conteneur parent. Par exemple, si un package avec quatre tâches d'exécution SQL démarre une transaction et que les quatre tâches utilisent l'option Supported, les mises à jour de la base de données effectuées par les tâches d'exécution SQL sont annulées en cas d'échec d'une des tâches. Si le package ne démarre pas de transaction, les quatre tâches d'exécution SQL ne sont pas liées par une transaction et aucune mise à jour de la base de données n'est annulée, sauf celle effectuée par la tâche qui a échoué.
NotSupported indique que le conteneur ne démarre pas de transaction et ne rejoint aucune transaction existante. Une transaction démarrée par un conteneur parent n'affecte pas les conteneurs enfants configurés pour ne pas prendre en charge les transactions. Par exemple, si un package est configuré pour démarrer une transaction et qu'un conteneur de boucles For dans le package utilise l'option NotSupported, aucune des tâches de la boucle For ne peut être annulée si elle échoue.
Vous pouvez configurer les transactions en définissant la propriété TransactionOption sur le conteneur. Vous pouvez définir cette propriété dans la fenêtre Propriétés de Outils de données SQL Server (SSDT) ou par programme.
[!REMARQUE]
La propriété TransactionOption a un impact sur la décision d'appliquer ou non la valeur de la propriété IsolationLevel demandée par un conteneur. Pour plus d'informations, consultez la description de la propriété IsolationLevel dans la rubrique Définition des propriétés d'un package.
Pour configurer un package pour l'utilisation de transactions
Ressources externes
- Entrée de blog, How to Use Transactions in SQL Server Integration Services SSIS (en anglais), sur www.mssqltips.com
|