Question

I've been asked to take over ownership of an SSIS package that was written a while ago. It certainly seems possible to go in and modify, edit, and upgrade this package, but it also seems extremely cumbersome for the amount of work the package does.

My task is roughly this: Sift through the package, find any usage of some specific columns in specific tables, change them to match the latest database changeset, and write some additional logging data out to help the team diagnose any particular problems.

This appears daunting to me because the SSIS package contains about 3 megabytes of text, SQL statements, and extremely simple (but lengthy) code pathways. It's already taken me a while to double click on each SSIS object and skim through its settings to see if I can spot the columns I've been asked to maintain, and SSIS keeps throwing connection errors (rightly so, because my dev environment is blocked off from the production database).

I'd really like to consider converting this SSIS package to a .NET application, however I haven't been able to locate any tools that could help me do so.

Does anyone have suggestions for maintaining this SSIS package or converting it to a proper application?

Was it helpful?

Solution

Replying to those who prefer .NET to SSIS

SSIS is not meant to transfer small amount of data . It can do , but when the data transfer is huge around 100 to 500 GB and involves a pretty complex business logic then SSIS is more preferred than .NET.If there are multiple data files with multiple data sources then SSIS is way to go . .Net is preferred if you have small import or export with very little business logic for enhancement or transformation of data

Unfortunately there is no tool out there which can transform you ssis package to .NET app but there are free tools to help you give more information about your package without opening it .

BI Documentor is a tool which gives you the complete schema of your SSIS package .You just need to point the application to your dtx pkg .If you have numerous sql codes and expressions,variable ,connection manager which you need to modify ,you can do this with the help of this tool .Sometimes Opening a complex ssis package in BIDS takes a lot of time so this may be useful in this case .

There is one more tool called SSIS Log Analyser which helps you to debug your package without opening BIDS

OTHER TIPS

Just for fun I wrote an SSIS decompiler. After a bit of looking at the UI of Visual Studio running Integration Services, and comparing that to the raw XML data in the .DTSX file, I was able to put together a program that converts the DTSX file into a C# / .NET project.

I combined this with a tiny bit of profiling data, and I was able to get a 40% speed improvement in my SSIS package by tracking down the components that had problems.

Seems to work pretty well for the SSIS packages I use. Maybe this will help someone else.

https://github.com/tspence/csharp-dessist

I don't think that there is any specific tool for this. It might be the best to just take some text editor and go through the code and identify the changed columns you have to deal with.

Personally, I don't like SSIS because it is too much "visual tool", and would probably go with .NET app, but since you already have all the job done, and you probably don't want to dedicate your career to rebuilding that data transformation tool you've been given, just make those changes in SSIS, make it work, and then continue with your joyful programming life...or even better, find some SQL Server administrator to do this for your, they like SSIS.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top