It was hard to miss the licensing and edition announcements for SQL Server 2012 yesterday. This post won’t touch on those too much. Others (such as Denny Cherry’s blog post or Geoff Hiten’s blog post as examples) cover that pretty well. I will say these three things, though:
- Anyone who is surprised by the license by core and not socket should not be. It’s been a long time coming. Am I shilling for MS here? Not at all. I’m shocked MS hadn’t changed it years ago based on the way the industry itself has been going. I will still argue that if you do the math, in most (if not all) scenarios you’ll still be cheaper than competitor solutions. SQL Server does give you really good bang for the proverbial buck with a lot of features “in the box” no matter what edition you choose.
- In terms of cores, understand this and you’ll be in better shape to understand cost: there is a minimum of 4 cores to purchase for each individual processor. What that means is that if you have dual core processors (i.e. a physical processor with 2 cores), you are still paying what you would pay today. 4 cores in SQL Server 2012 is the equivalent of a single processor in SQL Server 2008 R2 and earlier. After 4 cores, you buy licensing in 2-core “packs”, so if your intended server has processors with 6 cores, it winds up being 1.5x what you pay today.
- I know some folks liked all the different variations of SQL Server. I mean, who wasn’t looking forward to SQL Server 2012 Titanium Edition (available only for a limited time)? All kidding aside, Microsoft isn’t a camera manufacturer that can just change its shell to another color or textile and charge you more as much as some camera companies (*cough* Leica *cough*) do. I think simplifying down to three editions (Standard, Business Intelligence, and Enterprise) keeps things much, much cleaner and easy to understand. Enterprise vs. Datacenter did confuse some, so I’ll say this one is a big net positive.
The one thing which some may have noticed is the line on the bottom of the chart linked above for editions: Enterprise has “Advanced” for high availability and the other two have “Basic”. What exactly does that mean? Thanks to MS for helping me to clarify. The list below is as things are today. Things may or may not change between now and whenever SQL Server 2012 RTMs.
- Synchronous database mirroring (same as it is now in current Standard)
- 2-node failover cluster support for an instance (same as it is now in current Standard)
- Log shipping (same as it is now in current Standard)
- Replication (same as it is now in current Standard)
- Mobility limitations removed for Standard/BI, so Live Migration now really a good option for VMs if you have Software Assurance (so not new, but kinda new)
- Support for Server Core deployments (new to SQL Server 2012) – both clustered and standalone
Advanced (which includes everything you get in Standard/BI plus …)
- AlwaysOn availability groups and everything that comes with it like readable replicas, backups from replicas, PowerShell cmdlets, etc. (new feature in SQL Server 2012)
- Faster failover for clustered instances (new to SQL Server 2012 – talked about this in my PASS Summit preconference)
- Peer to Peer replication (same as it is now in Enterprise and Datacenter)
- > 2 node failover clustering (same as it is now in Enterprise and Datacenter)
- All modes of database mirroring with automatic page repair (same as it is now in Enterprise and Datacenter)
- The various online operations such as index rebuilds (same as it is now in Enterprise and Datacenter)
In essence, outside of the new AlwaysOn availability groups feature exclusively in Enterprise, the split is pretty much what you get now: a more feature rich high availability set in the top edition, and less in the others. Don’t let the names Advanced and Basic fool you – it’s just marketing terminology (much like AlwaysOn [with no space] is a branding thing).
The only slight bit of disappointment I have to be honest is twofold:
- While I thought availability groups would be Enterprise only, I was hoping they would do something akin to what they did with database mirroring and put a more limited form in Standard and everything in EE. That didn’t happen. Let’s hope in a future version after 2012 it will.
- Along the same lines, if availability groups were going to be EE only, I hoped that Standard would get the full database mirroring implementation. There’s precedent for that (see: log shipping [EE only in 2000, all in 2005] and backup compression [EE only for backups in 2008, all in 2008 R2]) as newer features get introduced or times go on. That also didn’t happen here. That’s more of a disappointment to me than AGs not being in Standard/BI.
These are not things to start a letter writing campaign to Microsoft. I’m just expressing my own personal opinion as someone who is obviously close to the HA feature set. I still think SQL Server 2012 has a compelling offering for most that if you are starting to consider upgrades or new implementations, seriously start evaluating it in its current form (CTP3).
Do I Need the Enterprise (or Datacenter) Edition of Windows for SQL Server 2012?
The answer to this one is “it depends”. If you plan on deploying AlwaysOn availability groups or failover clustering, yes. I know I haven’t talked about availability groups much but I’ve been working with them for awhile and some of what I know is still under NDA and I’d rather be able to tell everything. Anyway, availability groups require that the OS is clustered but SQL Server does not need to be (but you can cluster it if you want). Based on what I said above for Basic vs. Advanced, if you are not using SQL Server Enterprise, you won’t need to worry about choosing EE or DC for Windows anyway since you won’t be getting the availability groups feature.
The need for at least Windows EE has been a bit of a controversy for some as they want to, say, do clustering with SQL Server Standard but need a higher edition of Windows since Windows Standard does not support failover clustering – it’s not a 1:1 ratio (so-to-speak). Is there a cost difference? Absolutely. However if you look at the cost of the Standard vs. Enterprise editions of Windows, it’s not the same difference at all as it is with SQL Server in terms of price. I know that even a minor difference in the amount could be a huge one for some companies; I’m not blind to economics. But if you plan on implementing SQL Server 2012 EE, it would be almost silly not to deploy at least the equivalent edition of Windows since you wouldn’t be able to take advantage of a great new feature like availability groups.
Now is as good a time as any to remind you about the blog post I wrote back in June which talks about the intended platforms you can deploy on. My thoughts there haven’t changed either, especially around supporting (or not) 32-bit.
That’s it for now … hope everyone has a great weekend!