Partager via


Transactions multiples

Il est possible qu'un package Integration Services inclue plusieurs transactions non liées entre elles. Cette situation se produit lorsqu'un package contient une hiérarchie de conteneurs imbriqués et que l'un de ces conteneurs ne prend pas en charge les transactions alors que les conteneurs restants les nécessitent. Les conteneurs imbriqués qui nécessitent des transactions démarrent leurs propres transactions. Ces transactions sont validées ou annulées dans l'ordre, de la tâche la plus imbriquée dans la hiérarchie de conteneurs imbriqués jusqu'au package. Cependant, lorsque la transaction d'un conteneur interne est validée, elle n'est pas annulée si une transaction externe est abandonnée.

Par exemple, un package comprend un conteneur de séquences qui contient deux conteneurs de boucles Foreach, et chacun de ces conteneurs de boucles Foreach comprend deux tâches d'exécution SQL. Le diagramme suivant illustre cet exemple de package.

Implémentation de plusieurs transactions

Dans cet exemple de package, les propriétés TransactionOption du conteneur de séquences, des conteneurs de boucles Foreach et des tâches d'exécution SQL sont définies comme suit :

  • La propriété TransactionOption du conteneur de séquences a pour valeur Required.

  • Les propriétés TransactionOption des conteneurs de boucles Foreach ont pour valeur NotSupported.

  • Les propriétés TransactionOption des tâches d'exécution SQL ont pour valeur Required.

Avec ces paramètres pour les propriétés TransactionOption, il existe cinq transactions non liées dans l'exemple de package. Le conteneur de séquences démarre une transaction et les quatre tâches d'exécution SQL démarrent chacune leur propre transaction. En outre, les transactions que les tâches d'exécution SQL démarrent ne sont pas annulées si la transaction de la tâche de séquence est abandonnée.

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.