THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Jamie Thomson

This is the blog of Jamie Thomson, a data mangler in London working for Dunnhumby

The SQL developer gap (Warning: rant coming up)

I recently submitted a bug to Microsoft Connect concerning the behaviour of the expression language in SSRS, if you’re interested you can read about it here: DateAdd() doesn't throw an error when it has invalid parameters.

I got a swift and detailed reply (for which I am grateful) from a fellow on the SSRS team however the content of it wasn’t exactly music to my ears:

While I do agree it would be desirable to have an error here, the SSRS engine makes use of the VB code engine for functions such as this. So, the call to DateAdd is just a passthrough as far as SSRS is concerned. The majority of the functions available in SSRS are actually just VB ones.

In other words the inequities of SSRS’s expression language are down to the frailties of a 14 year old scripting language that should have been thrown out long ago on the coattails of Crystal Reports. Am I the only SQL Server BI developer that feels a little … oh I don’t know … unloved sometimes by the various BI teams in SQL Server land. Let’s have a look at some of the things that we have to put up with:

  • two different expression languages (one for SSIS, one for SSRS), neither of which support comments as far as I am aware, neither of which have any debugging features and neither of which are extensible
  • an expression language in SSRS that is based on a dead scripting language and rarely produces meaningful errors
  • an expression editor in SSIS for which there isn’t even context-sensitive help let alone intellisense
  • an MDX query editor in SSMS that doesn’t have intellisense
  • a script task editor in SSIS that shows read-only system variables in the ReadWriteVariables dropdown
  • I could go on…

None of these issues are particularly prohibitive on their own but when you add them all up (along with many others) I’ve no doubt that we could all be a heck of a lot more productive were they all solved.

I look around at our cousins in .Net land and I see their fancy WPF code editors, extensible languages, Javascript Intellisense, code navigation shortcuts, mockable code, code style checkers, MEF-compliant IDEs, type-inferencing, 3rd-party code editors, keyboard shortcuts, modern type-safe compilers, code generation templates, meaningful error messages, proper debuggers, runtime watches, collapsable code regions, IDEs with built-in refactoring support, built-in code formatting, code documentation tools, whitespace highlighting, code performance analysis tools, LINQ, fluent this-that-and-the-other etc…  and I can’t help but feeling a little hard done by. (Anyone that has used Resharper for .Net will know exactly what I mean.) Am I the only SQL guy that feels like a second class citizen in the Microsoft developer ecosystem?

I must be fair and admit that we have it a lot better than other database platform developers (if you have ever used any of the plethora of Oracle developer tools out there you will know what I mean) but nonetheless it would be nice to see a little bit of love go the way of us lowly SQL bods don’t you think?

OK, rant over. My apologies if you came here hoping for some words of wisdom but I’ve been wanting to get this off my chest for ages; normal service will be resumed forthwith!


P.S. A valid response to this from the SQL Server team may be “submit your ideas to Connect”. I’d like it to be known that the majority of things I have listed above have already been submitted to Connect in some way shape or form and I would be happy to supply a list if one were required!

I should also apologise to the SSRS team for making an example of them – the submission highlighted above is hardly the most annoying of problems listed here but it just happened to be the one that pushed me over the tipping point to writing this!

Published Wednesday, January 13, 2010 12:43 AM by jamiet
Filed under: , , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



Todd McDermid said:

I agree with you completely, Jamie.

Unfortunately, it seems that I have to draw the conclusion that the further a product is away from the "front lines", the less love it gets.  In most cases, the "front line" is the mainstream consumer.  In the "geek" realm, it's developers.  The "front line" also usually corresponds to what carries a price tag - in our case, it's SQL Server, with RS, AS, and IS being "free" addons.  Even within those three, it seems clear that whomever is closest to the knowledge worker gets the resources.

IMO, the parts that are behind the front lines provide equal value - the platforms on which snazzy "killer i-app" whizbangs are constructed.  MSFT should know that price != value...

January 12, 2010 7:02 PM

James @ BI Monkey said:

A second vote here - one of my biggest bugbears with SSIS is the sometimes shoddy (cough Pivot cough) and inconsistent interface.

But as Todd notes, this is back end stuff  - that only smart people tend to get anywhere near. The user interface clearly goes SSRS > SSAS > SSIS, i.e. in general order of usage / capability required to use. Coders get prettier tools simply because there are more of them.

But compared to other major vendors tools, we do still have it good, and the SSIS team have indicated the next release will be getting some UI love.

So ... could be worse...  no excuse to let up though :)

January 12, 2010 7:59 PM

Lee Everest said:

Completely agree, Jamie.  While we're lucky to be where we are, there is at the same time enough room for improvement everywhere you look in the entire SQL Server "BI Stack". I was just about to blog (again) on an SSIS beatdown that we don't think about but just accept;  the products are still very much in their infancy IMHO.


January 12, 2010 9:08 PM

Sudeep Raj said:

Agree with every word written here.

On a positive note yes SQL is better in terms of UI as compared to other DBs. How ever when comparing IS, RS or AS with other MS products one does feel the difference. A lot needs to be done especially providing some meaningful error messages.

January 13, 2010 2:32 AM

jorg said:

I also absolutely agree here.

I understand that there were more important things on the wish list for Microsoft since SQL 2005 has been released but I really hope they will improve this in the near future!

January 13, 2010 3:30 AM

RichB said:

I often wonder if they aren't merely box ticking exercises for MS to be able to claim improved competetiveness with other vendors.  "Look it does _this_!"

Why else would they so fundamentally change them every time they do a release?  Just get used to dmo, then bang off it goes. DTS - nope away. They should make AS, SSIS and RS seperate standalone products which you could get as part of a bundle.  That way they might make some small effort at least.

January 13, 2010 6:06 AM

Tom stagg said:

You hit the nail on the head.

As a data guy I never really knew of all the help my .net colleagues had. But I'm aware of the issues you mentioned with BIDS.

I've recently been using some of the Informatica toolset (Powercenter and B2B Data Exchange) and have been massively frustrated at how these tools work. There is virtually no help on the internet, help is only available through expensive training courses, local help files only hint at possible solutions, etc. I think it's so important to have stable, consistent, productive dev tool at hand with extensive help available from the internet.

Here's hoping that Microsoft will put some more effort into the UI of future SQL Server releases.

January 13, 2010 6:07 AM

LeoPasta said:

Hi Jamie,

 The accumulation of those things is what prevents me to "sell" SSIS to our internal team, we do A LOT of ETL in our system, but because of so many inconsistencies and lack of an advanced scripting/programming IDE, we are much more productive rolling our own C# + SProcs solution to load/transform the data.

January 13, 2010 6:57 AM

Michael K. Campbell said:

What you forgot to mention though is that the price of SQL Server is going up. That's the rub. That, and who knows what the final interplay between R2 and VS2010 will be... but it's likely to be 'bumpy' if the past is any indicator.

January 13, 2010 11:17 AM

Terry said:

"Am I the only SQL guy that feels like a second class citizen in the Microsoft developer ecosystem?"

Excellent points!!!! The error messages in particular that I get from SQL Server in general have been extremely misleading and wasteful. That's been my pet peeve. We've been evaluating ETL (Extraction Transformation Loading)solutions too and top of the list has been SSIS. I wonder if there are some better tools out there though that are still compatible with SQL Server?

On another note MS Connect is a usability nightmare!!!!! It was extremely confusing just trying to figure out something as simple as just where you should go to even report a bug!!! I'm so glad I read this post because now I finally have an idea how to report the many crashes that I've had to endure from Visual Studio. Argh!!! The software is great except when its not so great. :-)

January 13, 2010 3:54 PM

Valentino Vranken said:

Great post Jamie, as a developer I couldn't agree more!

Here's another one for the list:

o a query window in the SSIS OLE DB Source (and some other components) which makes you wish that you had a magnifying glass next to your keyboard (at least on screens with a high resolution).

"Is it a dot? Ow, it's a comma. And what is that vague thing, ow, a double-quote..."

The following string gives a nice example: '"hf"' - on my screen it looks as if the letters are surrounded with just some vague double quotes.

Luckily we've got SSMS to write our queries, it's such a blessing nowadays!



January 15, 2010 7:10 AM

Latin Programmer said:

Keep fighting the battle!

Who knows, they might at least let us "undo" on the next version.

January 19, 2010 12:27 AM

Grim Repair said:

SSIS is a product that would be great, but seems to have around 2/3 the effort expended on it, that it needed to be a professional product.  Lots of good ideas, but it's such a buggy, badly written mess still, that I can't imagine it ever being cost-effective.

October 22, 2012 11:02 AM

Greg Low said:

My interest in logging suggestions waned the first time I got a "Closed Won't Fix" on a typo in the UI. It waned further when I got one for a Code Name in the UI instead of a product name. If it is not possible to get typos fixed, almost anything else is pointless.

The best thing done for SSIS in SQL Server 2012 was that, in the designer, undo now actually works. But you'll never see that on a marketing brochure.

The entire focus in the last few years seems to have been on DBA / HA features, etc. The irony is that in the new world order, where SQL Server is a platform component (ie: Azure SQL DB), the ONLY thing that will matter is how good a platform it is to develop for:

* How quickly can you build code for it?

* Can you build high quality code?

* Does it support modern requirements (ie: JSON, UTF8, table inheritance, mobile reporting, etc.)?

* Does the language support high level constructs?

* Does the language tooling support effective debugging?

etc. etc.

There seems to have been zero focus on these things for many, many years. The focus has almost entirely been on areas that in the new world order, will be irrelevant to those chosing a platform. HA, etc. will be seen as functions for the hosting provider.

March 28, 2015 12:12 AM

Forrest Pugh said:

Who can raise their hand confidently if I ask:

Do you know a young/new developer that understands what KISS is? Because most I know DON'T. It's also a core fault in many of the crap offerings by Microsoft these days (let alone other vendors, and even non-software businesses).

If you do - MENTOR THE HELL OUT OF THEM. If not, find one that is smart enough to understand it and then do the same.

Learn to write your code on a simple Notepad - teach them too. Can't do that? Then you probably need to learn the language better.

I know it's personally fulfilling to ejaculate some terribly complex monstrosity of logic that can solve all problems, make you coffee, and rub your feet at the same time... how many Rube Goldberg machines ever work consistently or don't need constant tinkering?

August 12, 2015 6:05 PM

Leave a Comment


This Blog


Privacy Statement