November 12, 2010 at 6:09 am
Has anybody got strategies for version management of SSIS packages using configuration management tools such as IBM's Rational ClearCase or Microsoft's Team Foundation Service.
The main problem is that custom scripts are embedded with that package and therefore normal compare/merge tools are useless.
November 12, 2010 at 7:16 pm
First DO NOT EVER USE MERGE with an SSIS package, EVER EVER EVER.. Ok, just trying to be clear..
An SSIS package is really a big XML file that can be radically rewritten with just a few changes in the GUI, so you should likely never change the file directly.
As far as version control I treat it like any other file, check out, make changes, check in. Only one person makes changes at a time. Internally it has Major Ver, Minor Ver, and Build Version. Build version is incremented by one every time the file is saved.
I have used this same method with VSS, TFS, and CC. I have to say I wasn't thrilled with CC overall. I like the baseline and label functionality but that was about it.
Did you have other specific questions?
CEWII
November 14, 2010 at 5:51 am
I've got a SSIS package that contains several C# custom components (tasks & data-flow) and I'm after a tool that is capable of showing differences in embedded C# custom code
At the moment we're using ClearCase for configuration managemenent
November 15, 2010 at 12:19 pm
As far as I know, the actual code of your embedded custom components is not in the actual package XML file (*.dtsx).
(correct me if I'm wrong)
So it doesn't really make sense to apply version control on your packages for just that reason.
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
November 18, 2010 at 3:20 pm
The custom script code (VB or C#) is embedded in th dtsx file.
The reason for the integration of SSIS and a configurement management tool is two fold:
1) TL9000 compliance
2) The SQL solution that we development is not a single instance deployment. As such there can be concurrnt development paths (live and bug fix) for different customers.
As such we are looking for a method of showing differences between version of the SSIS package.
I like SSIS but the issues of traceability, debugging and find and replace within BIDS is causing friction within a traditional C#/.NET development organisation.
Therefore, I'm interested in seeing if and how anybody else has managed to overcome these sorts of issues.
November 18, 2010 at 11:59 pm
Just to be clear, what do you exactly mean with custom .NET code?
Do you mean code in Script Task/Component, or do you mean a task/component that you have developed yourself in .NET (such as the ones you can find on CozyRoc?)?
The first ones you can find indeed in the .dtsx file. The second ones, I would be very surprised if they are contained in the .dtsx file.
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
November 19, 2010 at 9:23 am
custom .NET code is code stored within either a SSIS "Script Task" or a "Script Component"
November 19, 2010 at 11:13 am
jm99 (11/19/2010)
custom .NET code is code stored within either a SSIS "Script Task" or a "Script Component"
Ah OK. That is indeed stored into the .dtsx file, but as Elliot already mentioned, it is kind of tricky to put version control on that. You could use some kind of versioning in the sense that only one person can edit/save a package at the time.
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
November 21, 2010 at 5:01 am
Since the enitre .dtsx package will be version controlled as a single entity, we accept that only one person can check it out and edit it a once.
However in seperate development and maintenance activities there may be more that one branch of the package.
As Elliot said "NEVER, NEVER merge", as the files are xml based, but is there an method of diffing the packages to see what has change in the code (C#, pipe definitions, task dependency) as opposed to layout changes?
November 21, 2010 at 11:25 am
As it is XML based, it should be possible. You'd simply have to parse the XML and navigate to the appropriate hierarchy/node.
But I have no experience doing that and I don't know any tool that can do that (but I don't know many tools in general, so I'm not a reference :-))
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
November 25, 2010 at 5:39 am
Umm can I ask the question. Why do you advocate not Merging XML based files.
We use TFS2010 for Source Control. We have set up branch structures similar to the ones advocated by the Power Rangers.
We have three stable branch's {main, test, prod} a dev branch , and two hot fix branch's;
one off test and the other of prod.
No work is ever done on Main. If fire struck the building it would be Main we get the source code from.
So why wouldnt you merge xml based files ?
Arthur
Viewing 11 posts - 1 through 10 (of 10 total)
You must be logged in to reply to this topic. Login to reply