I posed a question to one of our new starters the other day: Would you rather have 6 months experience in SQL Server 2012 or 8 years experience in SQL Server 2005? I asked him this in response to his surprise that we seem to use the latest versions of all the Microsoft products: Windows 8, TFS 2012, Visual Studio 2012 (including the new BIDS version), SQL Server, Windows Server 2012… the list goes on. Certainly it benefits us employees as we get exposure to the latest software. But the policy to upgrade to the latest SKU’s of Microsoft products isn’t for the benefit of the employees,it’s just a bonus. And, though it may look like the company is on the bleeding edge of IT, that ‘s also not really the case either. It may be up to date, but certainly not bleeding edge. Other than access to the latest features, there are two main reasons why it makes sense to upgrade the latest version:
Microsoft are committed to releasing Cumulative Updates, Service Packs, Hotfixes, Updates etc for the latest versions.
Microsoft have defined the length of time that they will support products in the Microsoft Support Lifecycle Policy. In the FAQ it states that for business and development products
Microsoft will offer a minimum of 10 years of support for Business and Developer products. Mainstream Support for Business and Developer products will be provided for 5 years or for 2 years after the successor product (N+1) is released, whichever is longer. Microsoft will also provide Extended Support for the 5 years following Mainstream support or for 2 years after the second successor product (N+2) is released, whichever is longer. Finally, most Business and Developer products will receive at least 10 years of online self-help support.
10 years initially sounds good, until you realize that it is considerable less than this. Mainstream Support end after either 5 years or 2 years after a new product, so for Visual Studio 2010 and SQL Server 2008 R2, Mainstream Support ends next summer. In reality, they get 4 years, considerably less than initially thought. Ok, so after Mainstream support it still gets support in the form of Extended Support. But what is Extended Support and what is the difference between that and Mainstream? The differences between Mainstream and Extended are subtle but significant. The table below highlights the differences.
So if you’re running VS 2010 or SQL Server 2008 R2, other than security patches, from August next year you’ll no longer receive the hotfixes that pertain to improvements and stability of your software. And there will be no changes to the design or features provided. You’ll still get support in the form of phone and online, but I can imagine that a lot of those conversations will steer towards upgrading.
You’ll also notice that there is a reference to the Support Lifecycle Product Database. This is a very handy page for each product that shows you the exact date that it will stop receiving certain levels of support. It also shows that Service Packs are supported for 12 months after the release. I’ve included the links at the end of the article.
This excerpt from an article by Jeremiah Peschka also sets out reason why it is important to upgrade:
Why is a new version of SQL Server going to make things faster? New versions of SQL Server get new versions of the SQL Server query optimizer. While Microsoft sometimes sneaks big performance fixes into a service pack, the biggest improvements come in major version releases. New versions of SQL server also contain fixes for bugs, take advantage of new CPU instruction sets, and are filled with the latest and greatest in software development techniques. In short: you wouldn’t expect a 10 year old sports car to be as fast as a brand new sports car, why would you expect the same thing from SQL Server?
Still not convinced?
Upgrading from one version to another is a lot easier if you upgrade from the most recent release to the latest release.
This is a pain point that is over looked all too frequently. If you have TFS 2008 and you wish to upgrade to TFS 2012, you can’t use the box that your TFS install is currently on. This may or may not be a bad thing depending on whether you intend to upgrade the hardware or operating system. But here’s the thing. You don’t have the choice. You have upgrade the hardware. Otherwise you’re stuck on TFS 2008. TFS Upgrades also rely on process template updates, and making the jump from one version to another would be far more complex, especially if you have made custom changes, than if you had upgraded to TFS 2010. TFS upgrades are complicated enough without the need to focus on other factors like hardware or migrations.
In SQL, there are list of deprecated features for every new version and beyond. If you’re going to upgrade and miss a few versions, can you be sure that you will be relying on a feature that was deprecated already? Microsoft keep a list of features that are to be deprecated in the next release. It’s far more likely that you’ll be able to keep up to date on these deprecated features if you are going to update your version regularly.
I’m not going to pretend that there are no issues with installing the latest version of software; we all know that bugs are always found immediately after the launch of a new version of software. And there’s good reason for this; many people will be doing things with the software that was never imagined, or when testing the product they were unable to imagine all the scenarios that would play out. So you should definitely not install the latest CU into Prod without first installing it on a test environment and let it run for a month. For larger upgrades, there’s the factor of new licensing costs. The core based based licensing for SQL 2012 Enterprise was a big step up from the previous licensing model of per processor. And upgrading software is time consuming and complicated. But taking these factors to one side, the longer you leave upgrading software, regardless of how crucial it is to the company, the larger technical debt you will accrue, and the longer it will take to plan and the riskier it will be to execute. For me, it makes a lot more sense to take the hit and install regularly, gaining experience, confidence and knowledge in upgrades and new product features, than to defer until you can’t put it off any longer.Follow @rPh0enix
Here’s the lifecycle page for SQL Server 2008R2. http://support.microsoft.com/lifecycle/?p1=14917
The other versions of SQL can be accessed here (click on Support Lifecycle on the left to see the list):
And here is the index for all products: