SSIS dtsConfig Merge!?
Hello everyone!
I'm looking for a "best practice" when doing a package configuration.
I have a packagestructure like
Master package
sub package 1 (Extraktion) sub package 2 (Manipulation)
sqltask 1
sqltask 2
sqltast n... sub package 3 (Loading) sub package 4 (Loading)
The Master package has a dtsConfig. In my dtsConfig I am able to disable and enable which of the packages that are supposed to run.
Problem:
When a problem occurs( a crash in a sub packages sqltask) I want to be able to resume work from the point of crash when next I start the master package.
(The master packages dtsConfig handles only enable/disable on the sub package level)
Half of a solution:
Create dtsConfig files for every subpackage which in turn makes it possible to start a subpackage a specific sqltask.
I have a lot of subpackages with a lot of tasks and i find it a bit daunting and error prone if i have to have a lot of *dtsConfig files to change things in if something goes wrong.
Questions:
Is there a way to save package configuration from multiple packages in a single dtsConfig file?
Does it exist any good editor to read/change in a dtsConfig file?(maybee in a treelist)?
Thanks
// David Lindblom
December 9th, 2010 5:09am
Couple of things about your issue:
First, it is ont a good practice to use the Enable/Disable property on a package programatically for flow control. If you want to decide if a task should run, then use Precedence Constraints with an Expression like @MyControlVarialbe == True
Second, if you have a dtsConfig file with, say, 3 items of configuration in it and you try to reference a package that only has 2 of the 3 items in it, you will get errors and warnings because the Run-Time engine cannot find that third item/property to set.
Suggestions:
First of all, look into the use of CheckPoints. You can have your package re-start at the point of failure instead of having to repeat the entire set of steps up to that point. But it sounds like you want to re-start AFTER the point of failure, so that may
not work for you.
I would go with SQL Server configuration. You can put all of the Config items in one single table (like maybe control variables) then just edit the table using T-SQL or some appropriate tool.
You might have entries for variables named "RunTask01", "RunTask02", "RunTasknn"
Hope this helps.Todd C - MSCTS SQL Server 2005 - Please mark posts as answered where appropriate.
Free Windows Admin Tool Kit Click here and download it now
December 9th, 2010 5:29am
Thanks for the answer!
When something goes wrong, I want to be able to disable packages that has already been run, and start with the package that went wrong. Therefore, I do not think it is programatically more like configurable(where do I want to start from) with log from beginning
to end. Checkpoints, yes, but, I have read somewhere or someone told me that it is not that good(gives a lot of overhead or something, don't remember).
But, I feel like i shall follow your suggestion with a table for configuration...
Regards.
// David
December 9th, 2010 6:34am
I use CheckPoints quite a bit and they work pretty good for me, but then again, I have few package failures. I use them ONLY for my Master/Parent packages and not the child packages.
More info on configurations here:
http://toddchitt.wordpress.com/2008/06/27/ssis_config/Todd C - MSCTS SQL Server 2005 - Please mark posts as answered where appropriate.
Free Windows Admin Tool Kit Click here and download it now
December 9th, 2010 7:07am