Wednesday, April 11, 2007

SSIS Tries So Hard To Make You Hate It

For a while last year, I thought I was the only one in the world using SQL Server 2005's new SQL Server Integration Services (SSIS) and I was feeling like there was very good reason for this.  SSIS tries REALLY hard to make you hate it.  The development experience in Visual Studio is god awful.  Strange, vague error messages, counter-intuitive set-up, implementation, and configuration procedures, and about the worst possible experience you can imagine if you try to check your SSIS packages into source control and have more than one developer work on them. 

The reason I felt so alone was the extremely limited documentation and lack of user posts I could find about *anything* SSIS related (granted, this began last year when they were very new).  Well, I still really dislike SSIS, but I don't feel as alone.  Even the great Ayende is feeling the pain a bit. 

Being that SSIS and their config files are just XML documents, one would think sharing the packages via source control would be a fairly trivial matter.  Well one of the dumbest/most frustrating things about SSIS is that the config files (.dtsConfig) contain NO formatting.  Yep, one big XML string on ONE line.  Well-formed XML, I admit, but unreadable/uneditable.  And considering you need to edit these things regularly, prepare for pain. 

Additionally, the fact that the entire file is on a single line makes version control (especially with my favorite, Subversion) a real nightmare, as they compare line by line when merging changes. 

There is a lot of room for improvement in SSIS, especially the development environment and experience.