Sql Server Management Studio Epic Fail: User Canceled (NOT!)

by bob on March 1, 2011

I just spent 10 minutes of my life that I’ll never get back.  I defined a complex view with a bunch of join conditions and field aliases and such, saved and named it.  Then I was informed of an error (despite the fact that the query parsed fine in the UI) and was told that I (“the user”) had “cancelled” the operation.  So instead of being returned to the designer to remedy the issue I simply lost all my work.

The moral of the story is that — despite it being 2011, some nine versions into this product over a period of some 20 or so years, some toad touches at Microsoft must have shrugged this issue off dozens of times over the years as Not Important, and I’m obliged to be paranoid and copy and paste my queries before saving my work.  Until, inevitably, I’m lulled into complacency, only to be bitten again.

I suppose that in fairness this isn’t that important in whatever Great Scheme of Things there may be, but on the other hand dealing with it isn’t that difficult or expensive, either, relative the the life cycle of the product and the number of person-centuries this kind of nonsense has cost the world.  It isn’t limited to the view designer, it’s true of the table designer and other places in the SSMS UI as well.  Come on, Microsoft, just fix this already.  I can imagine why you haven’t — you probably have to change the workflow internally or have pre-checks done by the designer before exiting — but for crying out loud, how hard could it be?  And why should people have to even bring this up?  You’re the guys with all the dollars to throw at usability testing.  It’s an obvious and glaring flaw.

I’m not asking you to do anything that I wouldn’t do for my own customers.  I would consider this kind of massive gap in the safety net totally unacceptable, even for a developer audience, and would refuse to release with it in place.  I don’t even want to hear your excuse.

Don’t make me come over there!

Leave a Comment

Previous post:

Next post: