DTS Parallel Processing in an Execute Package Task

  • I have a Parent DTS (A) which has as one of its steps an execute package task which in turn calls a second DTS (B). I'm trying to set up DTS B to parallel process 6 steps. In the package properties of DTS B I have set the "limit the max number of tasks run in parallel" to 6. I also made 6 distinct connections to the server in DTS B -- one for each of the steps I want running in Parallel.

    When I execute DTS B on its own, the parallel processing works great, all is right in the world.

    When I execute DTS A and allow it to run DTS B as a step in its process, DTS B does not perform as expected. The multi-threading begins, but as soon as the first of the 6 multi-threaded steps completes, the step acts like it's done.

    To sum up:

    DTS B run by itself: 6 steps run in parallel until completion

    DTS B run by DTS A: 6 steps run in parallel but one step completed and the rest "abandoned", DTS A moves on to next step.

    Does anyone know why this might happen? I was wondering if the Package Properties setting for DTS A (currently set to 4) has any affect on DTS B's ability to parallel process? If that's true, I'm screwed.

    Thank you in advance for any help you can provide -- hope the problem makes sense.

    Kate

  • katemcginnis (5/7/2008)


    I have a Parent DTS (A) which has as one of its steps an execute package task which in turn calls a second DTS (B). I'm trying to set up DTS B to parallel process 6 steps. In the package properties of DTS B I have set the "limit the max number of tasks run in parallel" to 6. I also made 6 distinct connections to the server in DTS B -- one for each of the steps I want running in Parallel.

    When I execute DTS B on its own, the parallel processing works great, all is right in the world.

    When I execute DTS A and allow it to run DTS B as a step in its process, DTS B does not perform as expected. The multi-threading begins, but as soon as the first of the 6 multi-threaded steps completes, the step acts like it's done.

    To sum up:

    DTS B run by itself: 6 steps run in parallel until completion

    DTS B run by DTS A: 6 steps run in parallel but one step completed and the rest "abandoned", DTS A moves on to next step.

    Does anyone know why this might happen? I was wondering if the Package Properties setting for DTS A (currently set to 4) has any affect on DTS B's ability to parallel process? If that's true, I'm screwed.

    Thank you in advance for any help you can provide -- hope the problem makes sense.

    Kate

    hi Kate,

    I'm certainly no expert but I think you could prevent early termination of DTS B by putting a common task after the 6 steps that you want to run in paralell.

    Just create a dummy sql-task an draw a workflow "on completion" arrow to it from each of the 6 multi-threaded steps. The dummy will then only be executed if all 6 threads are completed and you have a unique end-point of the dts in stead of 6.

    Hope it helps

    Marc

    edited typo

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply