Advanced Execute In/Out of Process

Parent Previous Next

What is the difference between In Process and Out of Process modes in the Advanced Execute Package Task?


The following describes each Child Package Location and how variables/parameters are assigned:

File System

Executes a child package by loading the package from the file system. It is then executed in the process of the parent package. The child package has no knowledge of the project (2012 and higher.) Child packages cannot use project level parameters or connection managers internally. Project level parameters can be assigned to child package variables.

Parent package variables / parameters can be assigned to child package variables. Parent package variables can be assigned values from child package parameters and variables after execution.

SQL Server (MSDB, File System)

Executes a child package by copying the package from SQL Server into the parent package and executing it in the process of the parent package. The child package has no knowledge of the project (2012 and higher.) Therefore, child packages cannot use project level parameters or connection managers. Project level parameters can be assigned to child package variables.

Parent package variables & parameters can be assigned to child package variables. Parent package variables can be assigned values from child package parameters and variables after execution.

Local Catalog Execution

Copies the package from the Catalog Server into the parent package. The child package is executed in the same process as the parent package.  The child package has no knowledge of the project (2012 and higher.) Therefore, child packages cannot use project level parameters or connection managers. Project level parameters can be assigned to child package variables.

Parent package variables & parameters can be assigned to child package variables. Parent package variables can be assigned values from child package parameters and variables after execution.

Server Catalog Execution (New Feature)

Will execute a package via server catalog execution (out of process) and wait on the package to finish execution on the server.

The child package will have knowledge of project level variables and connection managers available within the project catalog of the child package being executed.

The child package will have the option of assigning a catalog project environment from the child package project to the execution.

Child package variables can be assigned project level & package level parameters, package level variables as well as being able to use environment variables from the catalog environments.

Parent level variables cannot be assigned values from child level parameters and variables after execution because the execution is performed out of process.

Overview of features

This chart is a quick summary of each location, variable assignment, and the execution mode that should be used:



File System

SQL Server

Local Catalog/In Process

Server Catalog/Out Of Process

Parent to child variable access

Read & Write

Read & Write

Read & Write

Write

Child to parent variable access

Read & Write

Read & Write

Read & Write

None

Parent Parameter to child variable assignment

Read

Read

Read

Read

Child package project level parameter access

None

None

Yes via copy

Yes

Child package project level connection manager access

None

None

Yes via copy. No passwords available in connection strings

Yes

Can assign catalog environment variables to child variables

No

No

Yes

Yes

Can use catalog environments during execution

No

No

No

Yes

Execution Process

In process

In process

In process

Out of process