November 19, 2013 at 12:27 pm
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.
November 20, 2013 at 9:39 am
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 🙂
November 20, 2013 at 11:58 am
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!
November 21, 2013 at 8:49 am
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.
November 21, 2013 at 8:58 am
That sounds like a great method also, and yes .dtsx is the extension I was looking for as well. = )
November 21, 2013 at 9:08 am
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.
November 21, 2013 at 9:21 am
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.
November 21, 2013 at 9:47 am
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.
November 21, 2013 at 11:47 am
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.
November 22, 2013 at 12:25 am
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.
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
November 22, 2013 at 6:55 am
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. = )
November 22, 2013 at 7:20 am
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. = )
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
Viewing 12 posts - 1 through 11 (of 11 total)
You must be logged in to reply to this topic. Login to reply