This has come up in conversations more than once in the past little while – recently on twitter I made the casual comment that later this year, SQL Server 2008 will be "two versions old." Well, not everyone agrees that that is technically true. So, I thought I'd put something out there that isn't limited to 140 characters. There are certainly some valid arguments on both sides, but my opinion – based both on these facts and on my memory that Microsoft has marketed it as such – is that SQL Server 2008 R2 is certainly a version that stands on its own. Still, I will present both sides of the coin (with my invalidation of the first set of arguments in green).
SQL Server 2008 R2 is simply an appendage to SQL Server 2008
- When you SELECT @@VERSION, the major / minor version is 10.5 (Denali is 11.0).
So yes, internally, it is "half a version" – but marketing-wise, this is certainly not true.
- The support lifecycle for 2008 is identical to the support lifecycle for 2008 R2.
I attribute that more as a courtesy to 2008 users than any implication that Microsoft deems them to be the same product.
- Several pages on MSDN and other Microsoft properties still say "SQL Server 2008" even though parts have been updated for R2 (for example, compare the Express page headline with the third bullet under "Powerful").
I chalk this up to sloppiness, and it was certainly a lot worse when 2008 R2 was first released, since they simply recycled a lot of documentation.
- You can restore or attach a 2000, 2005 or 2008 database to 2008 R2.* In other words, they did not move the chains for backward compatibility; these remain the same as SQL Server 2008. If 2008 R2 were truly a new version, then SQL Server 2000 should have been removed from the supported compatibility list. Instead, this is not happening until Denali.
I'll give you this one, but I suspect it may have just been a resourcing issue rather than an intentional choice. And again, this isn't a marketing thing, it is just the side effect of a technical decision.
SQL Server 2008 R2 is a full, independent version of SQL Server
- You can't restore or attach a 2008 R2 database to 2008.
- You can't just download R2 and apply it to your 2008 instances. You need to buy separate licenses, and outside of volume licensing / software assurance, there are no discounts – whether you are coming from 2008, 2005, or 2000. It is not a service pack.
- The structure of the support lifecycle documentation implies that they are completely separate products. Otherwise, why aren't they simply combined on the same page?
- Support lifecycle aside, it is serviced completely separately from SQL Server 2008. You can't apply a SQL Server 2008 service pack or cumulative update to SQL Server 2008 R2, nor does the reverse work. The servicing schedules for the two versions are also independent.
Now, I will agree that 2008 R2 is a terrible, terrible, terrible name, doing nothing except make it *sound* like it's not a full version. In fact, I know that some people feel like they're getting raked over the coals when they upgrade, because they feel like they're paying five figures or more, per instance, for a service pack. (And given the features that were added to the core engine and tools, who could blame them for feeling this way?) It also causes a lot of confusion in the community, as I've alluded to in several of my recent posts about service packs and cumulative updates for each version – many people ask whether a CU for 2008 R2 is applicable to 2008, or if they should be able to attach or restore a 2008 R2 database onto a 2008 instance. My answer is always going to be no, they are different versions, and it has become second nature now to include a disclaimer in every single post.
So, with all that said, my opinion is still that 2008 R2 is a full and official release of SQL Server, and my statement still stands: sometime in 2011 or 2012, SQL Server 2008 will be two versions old. You may not think that way in all aspects of the product, but technically, I believe it to be true.
* There is one exception: if you've enabled 15K partition support in SQL Server 2008 SP2, you can't migrate that database to SQL Server 2008 R2 RTM.