When SQL Server 2008 came out, I heard a lot of grumbling at PASS from production DBAs. They didn’t like the focus on business intelligence, and they felt like there wasn’t enough meat on the bones to solve real-world production problems.
When SQL Azure came out, they grumbled more. Developers love Azure because they can use SQL Server without talking to database administrators. DBAs dislike Azure because it circumvents the security, disaster recovery, and tuning features we’ve got in the real thing.
SQL Server 2008 R2 comes out in May, and I’m stocking up on earplugs. Glenn Berry sums it up well in his post about the three SQL Server 2008 R2 engine improvements:
“SQL Server 2008 R2 has been primarily focused on enhancements in the BI area to support the upcoming releases of Office 2010 and SharePoint 2010. This left precious little development resources to devote to improvements to the basic relational database engine in SQL Server 2008.”
The three improvements in R2’s engine are support for >64 cores, unicode compression, and improvements to concurrency in high volume situations. That’s it. Read it again if it makes you feel better, or read it backwards and pretend there’s another three, ‘cuz that’s all you’re gonna get.
SQL Server Licensing for Virtual Environments
It gets worse – R2’s licensing has an ugly change for shops who use virtualization. Right now, if you buy SQL Server 2008 Enterprise Edition now by the CPU, you get unlimited virtualization rights. If you’ve got a 4-socket virtual host and you buy 4 sockets of Enterprise Edition, you can run as many SQL Servers on that host as you want. From Microsoft’s SQL Server 2008 Licensing Guide:
“For enterprise edition there is an added option: if all physical processors in a machine have been licensed, then you may run unlimited instances of SQL server 2008 in one physical and an unlimited number of virtual operating environments on that same machine.”
You may not be running SQL Server widely in virtualization environments yet, but ask yourself how many SQL Server 2000 and 2005 instances you’re running today. SQL Server doesn’t just go away – the instances you install today will still be in production for years to come. They might not be virtualized today, but they’re gonna be virtual years from now, and today’s licensing saves you a fortune.
Microsoft sees that coming, and they’re changing it in R2. Review the SQL Server 2008 R2 Editions PDF and you’ll find that R2 Enterprise Edition doesn’t come with unlimited virtualization. To get that feature, you have to spring for the new Datacenter Edition, which costs around $60k per CPU socket.
Buy Now, Upgrade Later
If I was a DBA with a budget to buy SQL Server licenses this year, I’d make that purchase now. In May, Enterprise Edition’s price is going up, and it will have less licensed features. I’d buy it with Software Assurance anyway, so I’ll get R2’s new features if I want them. If I didn’t want those new features, I’d still have the flexibility of running unlimited SQL Server 2008 instances in virtualization.