Package.MaxConcurrentExecutables Property

Gets or sets the number of threads that a package can create.

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)


Public Property MaxConcurrentExecutables As Integer
Dim instance As Package
Dim value As Integer

value = instance.MaxConcurrentExecutables

instance.MaxConcurrentExecutables = value
public int MaxConcurrentExecutables { get; set; }
property int MaxConcurrentExecutables {
    int get ();
    void set (int value);
member MaxConcurrentExecutables : int with get, set
function get MaxConcurrentExecutables () : int
function set MaxConcurrentExecutables (value : int)

Property Value

Type: System.Int32
An Integer that contains the number of threads that a package can create.


Valid values are one and higher, or -1. Other values are invalid. A value of -1 allows the maximum number of concurrently running executables to equal the number of processors plus two. Setting this property to zero or any other negative value fails with an error code that indicates an invalid argument.

This property is used when parallelism exists in the workflow. If the workflow is a series of sequential precedence constraints, then this property has no effect.


The following code example sets the MaxConcurrentExecutables to 1, and sets that value on the ForEachLoop so the ForEachLoop will run one task at a time.

Package p;
p.MaxConcurrentExecutables = 1;
ForEachLoop loop;
loop.MaxConcurrent = p.MaxConcurrentExecutables;
Dim p As Package
p.MaxConcurrentExecutables = 1
Dim loop As ForEachLoop
loop.MaxConcurrent = p.MaxConcurrentExecutables