SQL 2012 Per Core Licensing

Caporegime
Joined
21 Nov 2005
Posts
41,328
Location
Cornwall
We're going through an MS audit at the moment and I need some clarification about licensing for SQL.

We have a Dell R720 which has two physical processors with 8 cores each. This server is one of our virtual servers and has 4 cores assigned to our SQL VM, no more no less. We have an OEM 4 core SQL license from Dell and my understanding, having spoken to MS previously, was this license covered us. The auditor however expects us to produce a license for all 16 cores :(

One of us is wrong so if anyone's licensed per core I would really like to know what your understanding of this licensing model is.

Thanks :)
 
We have had this a year or two again and ours was fine and licensed like yourselves. SQL server requires a minimum of 4 cores to be licensed from what I've researched and if it's running in a virtual environment you only need to cover the amount of cores that are assigned to that VM.
 
Thanks :)

Our MS rep originally said that, Dell said that and the installer said that. Our last audit took less than 6 weeks but this has been going on for 6 months and MS are getting more and more aggressive with each email.

Short of sending them their own licensing PDF I'm not sure what I can do because they're adamant we're under licensed :(
 
Short of sending them their own licensing PDF I'm not sure what I can do because they're adamant we're under licensed :(

Seems reasonable to do this, highlighted the relevant sections. As far as I understand it, your understanding is how I understood it too, however this isn't my area of expertise...
 
We had one not that long ago. We don't use SQL but we still had to educate the auditor - although to be fair we had let things get away from us and ended up over 100 CALs short and other things with a bill over £20k :(

Our issue was who we could purchase the licences through. I knew of a Polish based supplier that I had used for hardware before so we got a quote from them, as well as our usual licence supplier. There was a 15% difference in cost so we sought assurance from the supplier and also our auditor that it would be ok. The auditor insisted it must be through a UK supplier, but when we sent MS's OWN licencing guidelines to them that stated the EU was treated as a single territory they relented.

So the EU is useful for something :D

But the moral is, even MS don't understand their own licencing rules!
 
I think your auditor is correct.

I've always worked on the principle that you must licence every core on the physical hardware on which you run SQL. Oracle database is the same.

Certainly when we did our MS EA this is what we were told was required. Because we use VMotion they told us we needed to licence all 60 cores in our VM stack. In the end we licenced 24 cores and set host affinity for the SQL VM's so they can only move between 2 physical hosts. I think you are allowed to change to another physical host once in any 90 day period and still be covered.

They don't consider virtualisation to be "hard partitioning" because even though you've allocated 4 cores at the VM level, those virtual cores are mapped to different hardware threads at different times.

The SQL 2014 licensing guide says:
You have the following two options for licensing under the per core licensing model:

1. Individual Virtual OSE. You can license based on individual virtual OSEs within the server that are running the server software. If you choose this option, for each virtual OSE in which you run the server software, you need a number of licenses equal to the number of virtual cores in the virtual OSE, subject to a minimum requirement of four licenses per virtual OSE. In addition, if any of these virtual cores is at any time mapped to more than one hardware thread, you need a license for each additional hardware thread mapped to that virtual core. Those licenses count toward the minimum requirement of four licenses per virtual OSE.

2. Physical Cores on a Server. You can license based on all of the physical cores on the server. If you choose this option, the number of licenses required equals the number of physical cores on the server multiplied by the applicable core factor located in the SQL Server Core Factor Table.
 
Last edited:
As ever with licensing - it depends.
Did you buy an SQL 2014 license and downgrade to 2012, or did you buy a 2012 license?
The terms of the license you bought apply regardless of what you actually install.

With an SQL 2012 license and up, you can vMotion/DRS/HA a licensed server once every 90 days. You need active SA in order to remove this limit and move the server as much as you want.

So if you don't have active SA, you'll need to prove you haven't moved the server more than once in a 90 day period...

Things used to be much simpler, but MS are moving more and more of these types of features into an SA benefit.


I've always worked on the principle that you must licence every core on the physical hardware on which you run SQL. Oracle database is the same.

This really isn't true, so you may be buying a lot more licensing than you really need, though you've given yourself an easier time in the event of an audit - I'll leave you to figure out if that £ outlay vs time saved is genuinely worth it.


###################
On the subject of Oracle licensing: Microsoft are nowhere near as militantly anti-virtualisation as Oracle licensing is.
We have a small <25 user oracle based system on VMWare. if Oracle's audit requirements get any more unreasonable we may just replace the system.

They've asked for stuff like a list of all of our VM's in the same VM cluster as the Oracle system - we told them to jog on and it's none of their business.
 
We're going through an MS audit at the moment and I need some clarification about licensing for SQL.

We have a Dell R720 which has two physical processors with 8 cores each. This server is one of our virtual servers and has 4 cores assigned to our SQL VM, no more no less. We have an OEM 4 core SQL license from Dell and my understanding, having spoken to MS previously, was this license covered us. The auditor however expects us to produce a license for all 16 cores :(

One of us is wrong so if anyone's licensed per core I would really like to know what your understanding of this licensing model is.

Thanks :)

Very simple:

OEM 4 core SQL license = 4x vCPU

you license it PER CORE the processor model of licensing no longer exists.
 
As ever with licensing - it depends.
Did you buy an SQL 2014 license and downgrade to 2012, or did you buy a 2012 license?
The terms of the license you bought apply regardless of what you actually install.

With an SQL 2012 license and up, you can vMotion/DRS/HA a licensed server once every 90 days. You need active SA in order to remove this limit and move the server as much as you want.

So if you don't have active SA, you'll need to prove you haven't moved the server more than once in a 90 day period...

Things used to be much simpler, but MS are moving more and more of these types of features into an SA benefit.




This really isn't true, so you may be buying a lot more licensing than you really need, though you've given yourself an easier time in the event of an audit - I'll leave you to figure out if that £ outlay vs time saved is genuinely worth it.


###################
On the subject of Oracle licensing: Microsoft are nowhere near as militantly anti-virtualisation as Oracle licensing is.
We have a small <25 user oracle based system on VMWare. if Oracle's audit requirements get any more unreasonable we may just replace the system.

They've asked for stuff like a list of all of our VM's in the same VM cluster as the Oracle system - we told them to jog on and it's none of their business.

Can you provide a link to a Microsoft document that substantiates having Software Assurance allows you to use vMotion as you like?

I've quoted the 2014 licensing guide above but I don't believe the 2012 one was much different in terms of virtual processors. It clearly says you must licence all the hardware threads your virtual cores are using. If it's not true as you say, please provide your source.

There isn't actually much difference between MS and Oracle's approaches to virtualisation licensing, it's just Oracle are totally up front and explicit about it and Microsoft just wait to shaft you on an audit.
 
Can you provide a link to a Microsoft document that substantiates having Software Assurance allows you to use vMotion as you like?

I've quoted the 2014 licensing guide above but I don't believe the 2012 one was much different in terms of virtual processors. It clearly says you must licence all the hardware threads your virtual cores are using. If it's not true as you say, please provide your source.
Here is the link to the SQL 2012 Virtualisation licensing guide - the vMotion bit is referred to as 'License Mobility'.
All the rules around licensing a VM opposed to a physical machine are in there too.
Of course, if the OP bought a 2014 license and downgraded then the SQL 2014 license terms apply - which may be different in terms of Physical Processors/Cores/HT and licensing.

There isn't actually much difference between MS and Oracle's approaches to virtualisation licensing, it's just Oracle are totally up front and explicit about it and Microsoft just wait to shaft you on an audit.

I think we'll have to agree to disagree on this one.
Microsoft at least allow you to license a single VM, Oracle take the approach of making you license all of your physical hosts in your cluster - they don't seem to accept DRS rules to prevent movement of a VM to another.

If I sound bitter, it's because as I've noted we have a single <25 user Oracle system, but they want us to license all 8 of our 2 Processor ESX hosts. This could even go up to 16 x 2 processor hosts as we use SRM so it could conceivably run on another cluster in the event of a disaster.
This would run into the tens of thousands of pounds...

To me this is a completely unreasonable requirement for such a small system that would cost us ~£400 to license with MS SQL.
 
Last edited:
Microsoft at least allow you to license a single VM, Oracle take the approach of making you license all of your physical hosts in your cluster - they don't seem to accept DRS rules to prevent movement of a VM to another.

Oracle can't require you to licence all hardware where their software could or might run, only hardware where it is running or possibly where it has been run during the licence period. If you've got host affinity set and you can prove it in the logs, you're covered.

I agree it is a minefield, and it's part of the reason we virtualised our small Oracle estate on to Sun/Oracle SPARC hardware and run Oracle VM for SPARC for the virtual machines. One Oracle Standard Edition One licence covers the box which has 8 cores and 64 threads, and we are licenced to run as many VM's and Oracle instances as we can fit on the host.
 
last time i bought sql 2014 i was told there is a license factor that is different on intel and amd cpus...ie multiple total licenses by factor to confirm final amount....amd had a smaller factor (presumably as their cores are weaker).
 
blueboy2001 said:
There isn't actually much difference between MS and Oracle's approaches to virtualisation licensing, it's just Oracle are totally up front and explicit about it and Microsoft just wait to shaft you on an audit.
Oracle's licensing is nothing of the sort. The fact that all features are enabled to catch out customers when it comes to audit time is unnecessary and deliberately deceptive. I cannot think of another vendor that gives away their software unrestricted with the sole aim of screwing customers on followup audits. We're seeing increasing numbers of companies moving to Postgres away from Oracle because of the totally onerous surprise costs that Oracle love to spring on loyal customers after audits.

blueboy2001 said:
Oracle can't require you to licence all hardware where their software could or might run, only hardware where it is running or possibly where it has been run during the licence period. If you've got host affinity set and you can prove it in the logs, you're covered.
This is not true unfortunately. According to Oracle if any component of your virtualised infrastructure touches nodes with Oracle software loaded on to them they have to be licensed as well. As an example; If you have a 4 node cluster fully licensed for Oracle RAC or whatever that's fine. However if the underlying shared storage serves any other nodes, eg, the rest of your virtualisation estate, regardless of whether or not Oracle would ever end up on there due to the host affinity as you say, those have to be fully licensed as well. I've seen Oracle pull this first hand and it is not pretty. We argued until we were blue in the face that the instances could never end up anywhere but those 4 nodes but Oracle were insistent that is how their licensing agreement is to be interpreted because they could potentially up there if we decided we really wanted to do that. I don't think the customer has paid up yet regardless. I think it's **** and honestly comes across as extremely predatory.

Under all circumstances I advise customers to steer clear of Oracle unless driven by a clearly defined and absolute business need. There is a lot of head and wallet ache with using their products regardless of quality.

As for MSSQL I suggest you fully digest the Licensing Guides linked above and then speak to at least one (preferably three) Microsoft licensing specialists with what you plan to purchase to get a consensus on what is acceptable. Their licensing phone line is very good if you can track down the website and phone number - I think they've merged it with the VLSC support centre. They will usually advise you on the cheapest way to fully license to meet your needs, which is also good.
 
Last edited:
It seems like the thread has got a bit derailed over Oracle Licensing, but I think the OP's question is answered already - He should probably just ignore us down here.

#########
I couldn't agree more with everything you've posted Yamahahahahaha. It all echoes exactly what is happening with us during our current audit.

If you have a 4 node cluster fully licensed for Oracle RAC or whatever that's fine. However if the underlying shared storage serves any other nodes, eg, the rest of your virtualisation estate, regardless of whether or not Oracle would ever end up on there due to the host affinity as you say, those have to be fully licensed as well.

There are a couple of questions explicitly asking about 'shared storage' in our Oracle VMWare License Review questionnaire, so I don't doubt that this is the same angle they will be taking with us.

We do have a 4 or 5 other Oracle systems, some with Enterprise licensing (Using Data Guard and all that jazz), but they're physical - so it's not like Oracle aren't getting a chunk of cash out of us for those. It's this one very small virtualised system that stands to cost us more than the rest of our Oracle estate combined that has really ticked me off.
 
That's all right dude :)

As it turns out we're only using two cores (4 threads) so I've responded to MS asking why they expect us to license our entire server when their own licensing guidelines suggest this isn't required.

Don't expect a favourable answer because information we provided back in February has repeatedly been overlooked and requested for over and over again so I might just ask to speak to someone in the licensing department instead.
 
Heard back from MS again today and their stance hasn't changed....

You have to license all physical cores within the SQL server hence why this is 16. You have 16 cores.

Can someone have a look over the following article, specifically the part about virtualization, and let me know if it does mean exactly how it reads because my manager is now after my blood :(

http://blogs.technet.com/b/uspartne...ncise-sql-server-2012-licensing-overview.aspx

Individual Virtual Machines

  • As server hardware gets more powerful, it will become more common for each database to use just a fraction of its server’s computing power.
  • When deploying databases on Virtual Machines (VMs) that use just a fraction of a physical server, savings can be achieved by licensing individual VMs.
  • To license a VM with core licenses, customers can simply buy a core license for each virtual core allocated to the virtual machine (minimum of 4 core licenses per VM).
 
http://blogs.technet.com/b/uktechne...g-sql-server-everything-you-need-to-know.aspx

For SQL Server Standard and Enterprise editions you can licence individual VMs using the per-core model. Similar to physical OSEs, all virtual cores supporting virtual OSEs that are running instances of SQL Server 2014 must be licensed. Customers must purchase a core license for each virtual core (aka virtual processor, virtual CPU, virtual thread) allocated to the VOSE. Again, you are subject to the four core minimum, this time per VOSE. For licencing purposes, a virtual core maps to a hardware thread. When licensing individual VMs, core factors (i.e. the AMD processor 0.75 factor) do not apply.

So unless I'm misunderstanding that and the diagram below it, I'm certain you only need to licence 4 cores because that's all the virtual machine has?
 
it difficult but dasyad is right, well that's how i have licensed my works SQL boxes. dont always believe what Microsoft or software suppliers tell you they don't always know what's right. I have had to correct false info they have told me before.
 
I've finally won :cool:

MS on 04/06/2015 said:
I think that the issue is you didn’t specify that these were virtual installs. We have assumed this to be a physical install.

Me on 30/04/2015 said:
SQL runs on a virtual guest and only uses 2 cores so the license we provided in the attached spreadsheet should cover us completely.

Glad it's over but it's concerning how much of the information I provided in the original audit spreadsheet was overlooked by MS. I'd imagine a lot of people would've assumed they were in the wrong and bought more licenses :mad:
 
Back
Top Bottom