I have a SQL Server 2000 instance running on a Windows Server 2003 box with 4 processors. SQL Server is configured to use all 4 processors, and use all available processors for parallelism.
I have created a simple DTS package which has 2 "execute external process" tasks with no precedence constraints between them. There are no connections required or defined for the two tasks (sequential
processing is forced on tasks sharing connections). The DTS package
properties have the "limit the number of tasks to execute in parallel"
set to 4.
However, despite the above configuration, the two steps are never executed in parallel, but always sequentially.
Does anyone have any ideas as to why these tasks are not being executed in parallel?
My first guess would be that you've established a precedence between the tasks by creating either a success or a failure connector between them. This forces DTS to complete the first task in order to know if it succeeds or fails before it can start the second task. Remove the presedence, and they ought to run in parallel.
Thanks for the reply but as I stated in my original post, there are no precedent constraints in place.
I have subsequently done further testing and it seems related to the task type. I can successfully run external commands in parallel via the ActiveX script task shelling out to call the executables, but cannot acheive parallel running using the "Execute External Process" task type.