• From the article:


    We often install the latest version for new instances, often because that's the only version we can buy at the time. However we don't seem to upgrade older instances quickly. This week I'm wondering why.

    Just one person's humble opinion and nearly personal thoughts on the subject...

    There's just one reason... "Regression Testing" and it's actually a whole lot more expensive than a lot of folks think just to get to that type of testing.

    Microsoft has seen fit to not only deprecate and discontinue a lot of things but they also do things that don't make sense in a lot of cases. Because of that, you have to do some pretty massive testing to make sure things don't break. That, in turn, means that you have to bring a new server up because there's normally not enough room on one server to have two copies of the larger databases and you'd be a fool to try to do an "in-place" upgrade because "going back" isn't that easy and I've also heard of too many in-place-upgrade-horror stories. There's also not much time for downtime and that's another reason for not doing an in-place upgrade.

    For example, remember the great migration from 2000 to 2005? First (IMHO), the RTM of 2005 wasn't worth a hoot and wasn't even worth looking at until after SP1. Then there are things like what they did with ORDER BY... that broke a lot of code. Yeah, I know what they said and I didn't get caught by it but I (and, apparently, a lot of others) think that an ORDER BY should be a set delimiter and it should bloody well work.

    And remember all of the complaints that came about because they decided to change what the optimizer did n 2005? Code that used to work just fine and with good performance suddenly didn't work so well and required anything from minor tuning to a major rewrite. Similar problems existed when 2008 and 2008 R2 came out.

    How about all the fun that DTS users had? Yeeee-haaa!!!

    And, it's going to get a whole lot worse. Remember that there's still the "promise" that you won't be able to change settings concerning NULLs, etc.

    When MS stops breaking code with their releases, that's when I think you might see an increase in upgrades. Maybe not even then because a lot of good folks correctly have the attitude of "If it ain't broke, don't fix it" or "With upgrades, you take the chance of jumping from fat to fire".

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)