Share via


Transações herdadas

Um pacote pode executar outro pacote usando a tarefa Executar Pacote. O pacote filho, que é o pacote executado pela tarefa Executar Pacote, pode criar sua própria transação de pacote ou pode herdar a transação do pacote pai.

Um pacote filho herda a transação do pacote pai se ambos os itens a seguir forem verdadeiros:

  • O pacote é invocado por uma tarefa Executar Pacote.

  • A tarefa Executar Pacote que invoca o pacote também tenha unido a transação de pacote pai.

Os contêineres e tarefas no pacote filho não podem unir-se à transação de pacote pai, a menos que o pacote filho se una a transação.

No diagrama a seguir, há três pacotes que usam transações. Cada pacote contém múltiplas tarefas. Para enfatizar o comportamento das transações, só serão mostradas as tarefas Executar Pacote. O pacote A executa os pacotes B e C. Por sua vez, o pacote B executa os pacotes D e E, e o pacote C executa o pacote F.

Os pacotes e tarefas têm os seguintes atributos de transação:

  • TransactionOption é definida como Obrigatório nos pacotes A e C

  • TransactionOption é definida como Suportada nos pacotes B E D, e nas tarefas Executar Pacote B, Executar Pacote C, e Executar Pacote F.

  • TransactionOption é definida como Notsupported no pacote E, e nas tarefas Executar Pacote C, e Executar Pacote E.

Fluxo de transações herdadas

Só pacotes B, D e F podem herdar transações de seus pacotes pai.

Pacotes B e D herdam a transação que foi iniciada pelo pacote A.

Pacote F herda a transação que foi iniciada pelo pacote C.

Pacotes A e C controlam suas próprias transações.

Pacote E não usa transações.