Friday, February 18, 2011

Microsoft SQL Server Per Processor License For VM

Microsoft SQL Server Per Processor Licensing is pretty straightforward when dealing with physical server. Basically the number of processor licenses needed is base on the number of processor socket you have regardless of the number of cores on each processor .

When it comes to VM (virtual machine), it is a little different. Take for example, I have 2 six-cores processor without hyper-threading turn on. In the virtual operating system environment, I will see 12 processors. If I have a VM running SQL Server and plan to use per processor license. I assign 6 vCPUs (virtual CPU) to that VM. How many processors license do I need to buy?

The formula below answer the question.

# of virtual processors supporting the VM

÷

# of cores (hyperthreading off) or threads (if hyperthreading on) per physical processor

=

# of Processor licenses required

If I use the formula above, I will only need 1 processor license.

6 ÷ 6 = 1

If hyper-threading is turn on, the virtual operating system environment will show 24 processors. If I still assign 6 vCPUs (virtual CPU) to that VM and use the above formula, this is what I will get.

6 ÷ 24 = 0.25

I will need to round up to the next nearest whole number which is 1. So I still need 1 processors license.

Assuming that I am using VMware vSphere Enterprise Plus Edition for my virtualization, I can only assign 8 vCPUs to the VM and I still need to pay for 1 processor license.

Source: Microsoft Server Licensing Guide

No comments: