Documenting your SSIS package

  • How do you create documentation on a SSIS package? I was thinking on describing ivery step in the field description and then being able to programatically extract these fields to a database or file. The idea will also be to be able to include predesessors and succesors. Also, any ways to bubble up this field to the annotation?

     

    Any ideas would be great!!!!

    Thanks

  • This was removed by the editor as SPAM

  • hi harold,

    do you have any specific purpose aside from documenting the ssis process automatically? i'm curious with the idea. thanks.


    Kindest Regards,

    SQL 2000 (Clustered)/SQL 2005

  • Here's a tip: don't use the annotation feature.  I foolishly thought it would be a handy way to record package changes and relate them to software versions and bugs.  Turns out it is a handy way to corrupt the package.  It will allow you to add an annotation, but if you save a package containing an annotation it will not re-open properly. 

  • That's interesting Allan. I have 5 SSIS Packages that have quite a bit of annotation in them, and I haven't had any issues yet.

  • I haven't had any problems with corruption when using annotations.  But when I select Format | Auto Layout | Diagram from the menu bar the annotations are left in limbo while the rest of my objects are arranged neatly.  You can right-click on the annotation and select Group to group the annotation to the object you are trying to comment but again the Auto Layout messes it up by making the Group box huge.

    37SOLUTIONS
    We'll find the one for you!
    Website Hosting | Website Design | MSSQL/MySQL Hosting | Database Development | Research/Consulting

  • hmm - that sounds a bit bizarre. I must admit, I never use Auto-format - I get a perverse kind of pleasure from formatting the layout myself, especially in making sure that lines never cross, etc. etc. (much the same as when DB modelling).

    Have you tried zooming WAY out to see if it has been thrown into a 'a corner far far away....'

  • Everything is still in view it's just that the objects are arranged all nice and neat in the top left corner while the annotations are left exactly where I placed them - they don't move at all.  But now they make no sense sitting next to completely different objects or maybe in the middle of the screen.

    Oh well...not a big concern for me.

    37SOLUTIONS
    We'll find the one for you!
    Website Hosting | Website Design | MSSQL/MySQL Hosting | Database Development | Research/Consulting

  • I can see how that would be D£$%£"$%^ irritating!

  • One simple thing I'd like to do is just print a list of the package variables, and their properties. Is there an easy way to do that?

    VariableName DataType Scope IntialValue UsedInJobStep (a nice to have) ....

  • This documentation sounds like something we would all find useful.

    The closest I can find is to right-click on the package in the Solution Explorer and select code. This will display the package in xml. Then search for .

    You will need to scroll over.

    It looks like the value of the variable comes after (the datatype probably varies - my example has 8).

    It looks like the variable name comes after .

  • I see that as soon as I hit the post reply button, everything I had pasted in was discarded. I guess I have to type.

    Here are the missing pieces.

    DTS:Variable

    DTS:VariableValue DTS:DataType="8"

    DTS:Property DTS:Name="ObjectName"

    Apparently you cannot include greater than and less than symbols in a reply.

  • One simple thing I'd like to do is just print a list of the package variables, and their properties. Is there an easy way to do that?

    I'm sure there is a better way, but all I can think of is adding a script task (free standing), to loop over the Variables Collection and send your output to a text file. When you're done, disable the task.

    MG

    "There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies."
    Tony Hoare

    "If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.

  • I don't have time to work on this... at least I won't for a while, but since the data is stored as XML (with nodes that can be translated to XML) it seems that you could create an SSIS package to load the XML for any found SSIS packages (at least on the file system) and store the XML into a set of related documentation tables. A front end could be created to format the XML for display. I don't have a lot of experience working with XML and XSLT files, but it should not be too difficult, only time consuming.

  • Here is a way to enumerate over the variables in a package. I can get the names and values of the variables but not the other things you would like.

    Imports System

    Imports System.Collections.Generic

    Imports System.Data

    Imports System.Math

    Imports Microsoft.SqlServer.Dts.Runtime

    Public Class ScriptMain

    Public Sub Main()

    Dim emptyBytes(0) As Byte

    Dim app As Application = New Application()

    Dim pkg As Package = app.LoadPackage("full path to package", Nothing)

    Dim vars As Variables = pkg.Variables

    Dim var As Variable

    For Each var In vars

    If var.Namespace = "User" Then

    Dts.Events.FireInformation(0, " ", var.Name + " = " + var.Value.ToString, " ", -1, True)

    End If

    Next

    Dts.TaskResult = Dts.Results.Success

    End Sub

Viewing 15 posts - 1 through 15 (of 32 total)

You must be logged in to reply to this topic. Login to reply