The Execute Package task allows you to execute a Data Transformation Services (DTS) package as one step of a parent package. This subpackage may create its own package transactions, or it may inherit the parent package transaction.
A package inherits the parent package transaction if both of the following are true:
In the following diagram, there are six packages that all use transactions. Each package contains numerous tasks. Only the Execute Package tasks are shown. Package A executes packages B and C, which in turn execute packages D, E, and F. The Execute Package tasks that join the package transactions are indicated with an underline.
Packages A, B, and D execute in one package transaction. Packages C and F execute in a second transaction. Package E gets its own separate package transaction.
Packages A, C, and E control their own transactions. Packages B, D, and F inherit their transactions.
If a package runs with an inherited transaction, transaction behavior differs considerably:
Note If a subpackage fails, its parent Execute Package task fails. If a subpackage completes successfully, its parent Execute Package task completes successfully. If a subpackage experiences many errors or rolls back the package transaction, but its Fail package on first error property is cleared, it will complete successfully. Its parent Execute Package task also will complete successfully.