0

I have an SSIS package which does this: 1. Read records from flat file source 2. Transform by calling webservice which adds additional response column to buffer 3. Output all input records and response column into destination file.

2 is a custom transformation data flow task I wrote, which is synchronous because I am outputting the input.

I initially thought from the default buffersizes and engineThread properties that it was multithreaded already and would call multiple ProcessInputs at the same time. But once I ran it, realised that it only called the web service one at a time.

How can I make it multi-threaded? I've googled around but found myself getting more confused.

Thanks in advance

kouri
  • 167
  • 1
  • 3
  • 13

1 Answers1

0

Have you seen this excellent blog?

Quote from the blog:

SQL Server Integration Services (SSIS) allows parallel execution in two different ways. These are controlled by two properties as outlined below.

The first one is MaxConcurrentExecutables, a property of the package. It defines how many tasks (executables) can run simultaneously. It defaults to -1 which is translated to the number of processors plus 2. Please note that if your box has hyperthreading turned on, it is the logical processor rather than the physically present processor that is counted.

SouravA
  • 5,147
  • 2
  • 24
  • 49
  • That was actually one of the first things I read but you see I have that setting as default. I only have one Data Flow Task with source -> web service -> destination and that is set to EngineThreads = 10. This still runs and calls the web service one record at a time. I'm not sure I understood the blog properly... :( – kouri Jul 02 '15 at 13:07