SSIS 2008 and Configuration Management

  • 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.

  • 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

  • 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

  • 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

  • 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.

  • 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

  • custom .NET code is code stored within either a SSIS "Script Task" or a "Script Component"

  • 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

  • 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?

  • 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

  • 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