Performance when Package calling child package in SQL 2012
Hi, I'm seeing some strang behaviour with SSIS 2012 concerning calling child packages from a main package. First let me set the scene: I have several packages loading data. Next to that I also have a master package that reads a table that contains all the names and path's of the different packages to execute. Reading the packagenames works, dynamically calling the packages is no problem, so everthing works, BUT performance is not as I would expect it to be. Let me explain: When executing a single package from SS Data tools it takes only a few seconds. When I run my master package in ss data tools and call that same package it can take up to 2 minutes to complete succesfully. When I execute the same master package from command prompt with DTEXEC the same child package executes again in only a few seconds. Anyone any idea's why executing master package in design is that slow, while executing the child package in design, or executing the master package from command prompt is fast? I have a send problem that I'm still investigating but any tips would be welcome: I want to execute these master packages from a job in SQL Server. Normally I would use the integration services step, but for my first master I need to pass a password to the package so I choose to use Operating System step type. When I execute the dtexec in command prompt (using the same user as the sql server agent account) it works fine. But when I execute the job with exactly the same command it seems to be doing nothing, while the job states that it is executing. (The master pacakge is executed, but the child package isn't started. This is what I get from my logging information I added to the packages) Regards, Nico
July 27th, 2012 3:16am

When master package runs in BIDS or SSDT, the editor will try to load each package in the designer to show progress status, so this will took much longer than running each child package separately or running packages outside of BIDS or SSDT. if you want to troubleshoot why child packages didn't started in sql server job; you probably have a foreach loop that loops through list of child packages and load child package name into a variable and then use that variable in execute package task, so you can log that variable's value on each iteration of package to see if that variable loaded with correct values? you can also put logging on each child package to see if they started to run or not and other details.http://www.rad.pasfu.com
Free Windows Admin Tool Kit Click here and download it now
July 27th, 2012 3:25am

Do onething, check the woroffline option in control flow properties..
July 27th, 2012 3:45am

Reza Raad, Thanks for the quick reply. I know BIDS/SSDT is loading the packages and that this has an influence on processing. But in the past this wasn't as significant as in SSDT now. With SSDT the loading takes 4 hours. When executing the same outside of SSDT takes only 6 minutes... For my second problem I currently have logging. So in my master package is build as you said: For each loop with variable to call child package. I know the variable is filled up correctly because I use it to execute an update statement to set a switch running, that he sets perfectly. Next step in the for each loop is calling the child package. And I'm guessing that there it goes wrong. The first command in the child package is to write a start of the package to my log, but that never happens. And also nothing else happens. He just keeps running with error nor progress. The strangest thing is that if I copy past the command i'm using in the jobstep to a command prompt window started with as user the SQL Agent account everything runs as designed. regards, Nico
Free Windows Admin Tool Kit Click here and download it now
July 27th, 2012 4:18am

about SSDT long time to run; Did you tried to run them with SSDT on another machine? because my thought is that maybe something is wrong in that machine. about child packages; Is there any of child packages which is running by master? I mean do you get some of child packages running or none of them? Did you tried to create a Proxy account and run package in sql server job under that account? http://www.rad.pasfu.com
July 27th, 2012 8:41am

about SSDT long time to run; Did you tried to run them with SSDT on another machine? because my thought is that maybe something is wrong in that machine. about child packages; Is there any of child packages which is running by master? I mean do you get some of child packages running or none of them? Did you tried to create a Proxy account and run package in sql server job under that account? http://www.rad.pasfu.com
Free Windows Admin Tool Kit Click here and download it now
July 27th, 2012 8:46am

Hi Nico V, In order to obtain performance-related information for packages that have been deployed to the SSIS catalog, you will need to make use of the Performance or Verbose Logging level. The Performance Logging level provides a good balance between having sufficient information for troubleshooting a wide set of SSIS package issues (e.g. package failures, performance issues) and having a performance impact to the package (due to the information that gets logged). For more details about troubleshooting SSIS Package Performance Issues, please see: http://blogs.msdn.com/b/mattm/archive/2011/08/07/troubleshooting-ssis-package-performance-issues.aspx Thanks, Eileen TechNet Subscriber Support If you are TechNet Subscription user and have any feedback on our support quality, please send your feedback here.
August 2nd, 2012 6:06am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics