SSIS: Finding Table Used in Other Package(s)

  • Hello - I'm trying to determine where a particular table(s) that SSIS is loading during a monthly job is being used in other packages. The package that loads these tables have in the past several months been taking much longer than before, and I'm trying to see if I can eliminate this load all together.

    I just happened to check the Allocation packages in our database to see how the tables were being used, and discovered that I can't find anywhere when/where those tables are being used. Is there a function or query I can run in SSMS or elsewhere to determine how to find this information?

    Thx in advance - please let me know if I need to clarify something.

  • If you have the packages stored in the SQL Server then you could do something like this:

    SELECT Name, CONVERT(xml,CONVERT(varbinary(max),PackageData)) AS PackageSource

    FROM msdb.dbo.sysssispackages

    WHERE CONVERT(varbinary(max),PackageData) LIKE '%Your Table Name%'

    It's a bit of a hack but it should work.

    If they are stored in the filesystem then you would have to search the package xml.

    Hope that helps 🙂


    I'm on LinkedIn

  • Thx, yayomayn! This is very cool, and I'll give it a shot now!

    What I wound up doing was opening all of the packages and reports in their "xml" format in Notepad++, and doing a search for all open documents to see if anything came up. Nothing so far except for the packages in question; however, I'm willing to review with this method as well.

    Thx again!

  • We have ours stored as .dtsx files on our server. I can use a Ultra Edit to search just the *.dtsx files for the table name I'm looking for.

    -------------------------------------------------------------
    we travel not to escape life but for life not to escape us
    Don't fear failure, fear regret.

  • That sounds like a great method also, and yes .dtsx is the extension I was looking for as well. = )

  • This speaks to a bigger question I have at times. "What all uses this table?" It would be nice to know every SSIS package, .SQL file or stored procedure that uses it. We do still have some DTS packages and maybe a few 'Data Junction' processes. I know I can do certain things for each type of file I want to look at but it would be nice to have all that info in one place, like a table to search.

    I started working on something a few years ago to do this, just can't get the time to finish it. Anyone else develop anything similar?

    -------------------------------------------------------------
    we travel not to escape life but for life not to escape us
    Don't fear failure, fear regret.

  • BI Documenter from Pragmatic Works is pretty good and would do what you need. It will set you back a cool $595 though :ermm:

    In SQL 2012 you have the SSISDB with a bunch of views you can use to pick up info on your packages. Having not used it in any great detail though I don't know how deep it actually goes.


    I'm on LinkedIn

  • yayomayn (11/21/2013)


    BI Documenter from Pragmatic Works is pretty good and would do what you need. It will set you back a cool $595 though :ermm:

    In SQL 2012 you have the SSISDB with a bunch of views you can use to pick up info on your packages. Having not used it in any great detail though I don't know how deep it actually goes.

    Thanks for the info I'll pass this along for someone here to research.

    -------------------------------------------------------------
    we travel not to escape life but for life not to escape us
    Don't fear failure, fear regret.

  • Right, this is more along the lines of what I'm trying to do - I want to know if ANYTHING is using those tables before I disable the package.

  • rarascon (11/21/2013)


    Right, this is more along the lines of what I'm trying to do - I want to know if ANYTHING is using those tables before I disable the package.

    I'm not sure that a text search will always give you that security. If any of your packages invokes stored procs or views, perhaps those objects reference the tables you are interested in.

    So I would suggest doing a search in T-SQL, perhaps using SQL Search (which is free and works well), to look for references to those tables in other DB objects.

    If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.

  • Thanks, Phil! I remember something about SQL Search a while back, but haven't tried it yet. I'll check it out, and will give it a shot. = )

  • rarascon (11/22/2013)


    Thanks, Phil! I remember something about SQL Search a while back, but haven't tried it yet. I'll check it out, and will give it a shot. = )

    Here's a link[/url].

    If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.

Viewing 12 posts - 1 through 11 (of 11 total)

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