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 int MaxConcurrentExecutables { get; set; }

Property Value

Type: System.Int32

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;
Return to top