Verifying MS SQL Server 2017 Licensing
-
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
For MS SQL Server 2014, but may still apply:
So at some point, MS made a new, industry conflicting term. vCPU has been standard and means something at the hypervisor level. The MS term is an MS only term.
I also see this:
So if you have hyper-threading enabled on your Hyper-V host, and you give the VM 2 vCPUs, you need to license for 4 cores.
Edit: This is also for SQL 2014, not sure about 2017.
That's tough as most deployments, people don't know what is supporting the vCPU. It's also confusing that this seems to ONLY apply with Hyperthreading in one case, but multiple cores in the second. Why does the HT get mentioned, given the second statement?
Who knows.
But here you go, just found this for 2017, which also confirms the above:
-
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch one of the complications is that there IS no virtual core. vCPU is NOT core.
a vCPU has vCores. Always. It might just be one. That is how it works.
Not in any system I've seen. What people call vCores are actually vCPUs. The vCPU might tell the OS it has multiple cores, but the idea of a vCore has never existed, only vCPUs. Vmware, KVM, etc. all the same. Core means physical, it's like having a physical virtual, it cancels itself out.
I am almost certain that VMWare lets you make a 1 CPU VM with 2 cores.
Hyper-V just says virtual processors.
KVM says CPUs.
But I very clearly remember some hypervisor letting me specify a vCPU and vCores.
-
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch one of the complications is that there IS no virtual core. vCPU is NOT core.
a vCPU has vCores. Always. It might just be one. That is how it works.
Not in any system I've seen. What people call vCores are actually vCPUs. The vCPU might tell the OS it has multiple cores, but the idea of a vCore has never existed, only vCPUs. Vmware, KVM, etc. all the same. Core means physical, it's like having a physical virtual, it cancels itself out.
I am almost certain that VMWare lets you make a 1 CPU VM with 2 cores.
Hyper-V just says virtual processors.
KVM says CPUs.
But I very clearly remember some hypervisor letting me specify a vCPU and vCores.
KVM does let you:
-
@jaredbusch Xenserver does
or
or
-
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch one of the complications is that there IS no virtual core. vCPU is NOT core.
a vCPU has vCores. Always. It might just be one. That is how it works.
Not in any system I've seen. What people call vCores are actually vCPUs. The vCPU might tell the OS it has multiple cores, but the idea of a vCore has never existed, only vCPUs. Vmware, KVM, etc. all the same. Core means physical, it's like having a physical virtual, it cancels itself out.
I am almost certain that VMWare lets you make a 1 CPU VM with 2 cores.
Hyper-V just says virtual processors.
KVM says CPUs.
But I very clearly remember some hypervisor letting me specify a vCPU and vCores.
VMware lets you specify how many CPUs, and Cores to "pretend" to have, but each is just a representation of the vCPUs. The vCPU unit is calculated from "presented CPUs * presented cores". But each core or CPU you present, is a vCPU.
-
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch one of the complications is that there IS no virtual core. vCPU is NOT core.
a vCPU has vCores. Always. It might just be one. That is how it works.
Not in any system I've seen. What people call vCores are actually vCPUs. The vCPU might tell the OS it has multiple cores, but the idea of a vCore has never existed, only vCPUs. Vmware, KVM, etc. all the same. Core means physical, it's like having a physical virtual, it cancels itself out.
I am almost certain that VMWare lets you make a 1 CPU VM with 2 cores.
Hyper-V just says virtual processors.
KVM says CPUs.
But I very clearly remember some hypervisor letting me specify a vCPU and vCores.
KVM does let you:
Right, it's a presented topology. How you want the vCPUs to "look".
-
@momurda said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch Xenserver does
or
or
The wording on XenServer is more clear. The vCPUs are the things you have, the topology is how they look. It's less confusing in how they show it.
-
Right, so what's the issue?
-
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
Right, so what's the issue?
Scott being scott.
-
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
Right, so what's the issue?
The issue being that Microsoft used to rely on the term core meaning physical and not being able to be something virtual as the basis for the understanding of their licensing.
Since core is defined by its physicality, and nothing else, the concept of a virtual core is nonsensical. A core only exists within a physical definition.
-
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
Right, so what's the issue?
The issue being that Microsoft used to rely on the term core meaning physical and not being able to be something virtual as the basis for the understanding of their licensing.
Since core is defined by its physicality, and nothing else, the concept of a virtual core is nonsensical. A core only exists within a physical definition.
For licensing purposes, MS is saying an MS SQL server core license is required for each vcpu you give a VM, and if HT is enabled, then double.
It's not calling a vcpu a core. It's merely defining licensing conditions.
-
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
Right, so what's the issue?
The issue being that Microsoft used to rely on the term core meaning physical and not being able to be something virtual as the basis for the understanding of their licensing.
Since core is defined by its physicality, and nothing else, the concept of a virtual core is nonsensical. A core only exists within a physical definition.
For licensing purposes, MS is saying an MS SQL server core license is required for each vcpu you give a VM, and if HT is enabled, then double.
It's not calling a vcpu a core. It's merely defining licensing conditions.
I don't see it saying that it is doubled with HT, only doubled if TWO threads are assigned to one vCPU.
-
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
Right, so what's the issue?
The issue being that Microsoft used to rely on the term core meaning physical and not being able to be something virtual as the basis for the understanding of their licensing.
Since core is defined by its physicality, and nothing else, the concept of a virtual core is nonsensical. A core only exists within a physical definition.
For licensing purposes, MS is saying an MS SQL server core license is required for each vcpu you give a VM, and if HT is enabled, then double.
It's not calling a vcpu a core. It's merely defining licensing conditions.
I don't see it saying that it is doubled with HT, only doubled if TWO threads are assigned to one vCPU.
Which is the case when HT is enabled. At least that's what they say... If Hyper threading is enabled.
-
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch one of the complications is that there IS no virtual core. vCPU is NOT core.
a vCPU has vCores. Always. It might just be one. That is how it works.
Not in any system I've seen. What people call vCores are actually vCPUs. The vCPU might tell the OS it has multiple cores, but the idea of a vCore has never existed, only vCPUs. Vmware, KVM, etc. all the same. Core means physical, it's like having a physical virtual, it cancels itself out.
I am almost certain that VMWare lets you make a 1 CPU VM with 2 cores.
Hyper-V just says virtual processors.
KVM says CPUs.
But I very clearly remember some hypervisor letting me specify a vCPU and vCores.
XenServer and XCP-ng also allow this.
1cpu 2 core etc.
-
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@obsolesce said in Verifying MS SQL Server 2017 Licensing:
Right, so what's the issue?
The issue being that Microsoft used to rely on the term core meaning physical and not being able to be something virtual as the basis for the understanding of their licensing.
Since core is defined by its physicality, and nothing else, the concept of a virtual core is nonsensical. A core only exists within a physical definition.
For licensing purposes, MS is saying an MS SQL server core license is required for each vcpu you give a VM, and if HT is enabled, then double.
It's not calling a vcpu a core. It's merely defining licensing conditions.
I don't see it saying that it is doubled with HT, only doubled if TWO threads are assigned to one vCPU.
Which is the case when HT is enabled. At least that's what they say... If Hyper threading is enabled.
They say when it is enabled AND doing that thing. Then mention that even if HT isn't enabled, it matters.
-
@dustinb3403 said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch said in Verifying MS SQL Server 2017 Licensing:
@scottalanmiller said in Verifying MS SQL Server 2017 Licensing:
@jaredbusch one of the complications is that there IS no virtual core. vCPU is NOT core.
a vCPU has vCores. Always. It might just be one. That is how it works.
Not in any system I've seen. What people call vCores are actually vCPUs. The vCPU might tell the OS it has multiple cores, but the idea of a vCore has never existed, only vCPUs. Vmware, KVM, etc. all the same. Core means physical, it's like having a physical virtual, it cancels itself out.
I am almost certain that VMWare lets you make a 1 CPU VM with 2 cores.
Hyper-V just says virtual processors.
KVM says CPUs.
But I very clearly remember some hypervisor letting me specify a vCPU and vCores.
XenServer and XCP-ng also allow this.
1cpu 2 core etc.
Topology lets you state presented cores, not vCores. Totally different things.