Поделиться через


Наследуемые транзакции

Пакет может запускать другой пакет с помощью задачи «Выполнение пакета». Дочерний пакет, то есть пакет, запускаемый задачей «Выполнение пакета», может создавать собственную транзакцию пакетов или наследовать родительскую транзакцию.

Дочерний пакет наследует родительскую транзакцию пакетов, если выполняются оба приведенных ниже условия:

  • Пакет вызывается задачей «Выполнение пакета».

  • Задача «Выполнение пакета», вызвавшая пакет, также присоединяется к родительской транзакции пакета.

Контейнеры и задачи в дочернем пакете не могут присоединяться к родительской транзакции пакетов, если только к ней не присоединяется сам дочерний пакет.

Все три пакета, показанные на приведенной ниже схеме, используют транзакции. Каждый пакет содержит несколько задач. Чтобы выделить поведение транзакций, показаны только задачи «Выполнение пакета». Пакет A запускает пакеты B и C. В свою очередь пакет B запускает пакеты D и E, а пакет C запускает пакет F.

Пакеты и задачи имеют следующие атрибуты транзакции:

  • Параметру TransactionOption присвоено значение Required для пакетов A и C

  • Параметру TransactionOption присвоено значение Supported в пакетах B и D, а также в задачах выполнения пакетов B, D и F.

  • Параметру TransactionOption присвоено значение NotSupported в пакете E, а также в задачах выполнения пакетов C и E.

Поток унаследованных транзакций

Наследовать транзакции от родительских пакетов могут только пакеты B, D и F.

Пакеты B и D наследуют транзакцию, запущенную пакетом A.

Пакет F наследует транзакцию, запущенную пакетом C.

Пакеты A и C управляют своими собственными транзакциями.

Пакет E не использует транзакции.