SQL 2008 – Update: How to license in a virtual environment, rules by version/edition

 

Most of the questions I get through as escalations are in relation to SQL and how to license, as virtualisation has taken a hold on the market place, I am getting more and more requests for info on how to correctly license SQL, so, this is the 1st post as its the “hottest” at the moment, more to follow on all the unique aspects of SQL

In this post we will cover off SQL 2008 licensed in Per Proc mode only, mainly because Server/CAL mode is very straightforward,

Lets start with the easy option

SQL 2008 ENTERPRISE edition gives you the opportunity to license all the physical processors in the server and this in turn permits unlimited SQL virtualisation rights – You DO NOT need to count the virtual processors when you purchase SQL 2008 Enterprise edition

Lets look at an example

Even though there are 4 Physical Procs and 5 Virtual Procs, when you purchase SQL EE Per Proc, you license only the Physical Procs, so, in this example, you need 4 SQL 2008 EE Per Proc licenses, when you buy those 4 Proc licenses, you get unlimited instances of SQL on this box – Don’t forget your Windows Server Licenses!!

So, that was the easy side of SQL Per Proc Licensing  🙂  now lets look at the rules for Standard, Web and Workgroup edition

SQL 2008 Standard, Web and Workgroup edition in a virtual environment require a little more info and the use of a calculation

Info you need to know, the number of virtual processors supporting the virtual machine AND the number of cores per physical processor

Once you have the info above, you can plug it into the calculation below and this will give you your proc count

 

1. Gather data points A-C

2. Calculate Processor licenses required

 

Lets look at a real example:

Below, if you license this example with Std, Web or WG edition then you require 5 Proc licenses, if you license with EE, then its 2 Proc licenses

Note: For each fraction of a proc you need to round up to the nearest whole number

 

Guide on definitions used

16 Comments

  1. Hi ThereThis is not a policy change, its a clearer way to help calcuate Proc requirements for Standard editionThe briefs and PUR will be updated to reflect this new infoThanks Emma

  2. Hey Emma,I just came across your blog and want to say keep up the good work. As an IT Pro, it\’s very helpful to have a resource other than a PUR or EULA to demystify licensing requirements.I have a question on SQL 2008 EE. Are there downgrade rights, i.e. can the virtual OS environments run a mix of SQL 2005 and 2008?Thanks!Joe

  3. Hi JoeThanks for the comments!If you bought your licenses through any volume licensing program, so Select/EA/Open etc then yes, you have full downgrade version rightsCheersEmma

  4. Emma, It appears your mileage may vary depending on where you are. I was a bit concerned with this posting and contacted my (US based) Microsoft Licensing representative for our Select & Campus agreements. I was assured that core counts are not used in our case at least. Just processor counts. "You are correct in your understanding. We do not require that you count cores we require that you license processors, this policy has not changed. :)". The April 2009 Product Use Rights (PUR) visual explanation on page 16 of 109 (US english) was so clear I have been pointing it out. I have to agree with the many postings that you generally are good at putting the ugly details into understandable explanations. But in our case, the "Count processors not cores" has been a competitive advantage to Microsoft selling many copies of Microsoft SQL server to avoid the "core count" pain of our Oracle or IBM/ DB2 agreements.

  5. MikeSorry I am not clear on what you are trying to say belowTo be absolutely clear on this, SQL EE is licensed per Physcial Proc, no need to count the Virtual ProcsSQL Std is licensed per Phsycial and per Virtual procsTo actually work out how many licenses you need for SQL Std in a virtual environment you need to know how many cores there are per physcial proc and the number of virtual procs supporting the VMI am not sure who you spoke to in the US but, this is the correct and new method of working out SQL Std in Per Proc mode, you will see this detail reflected in the new SQL Licensing guide and July 2009 PURIt DOES NOT mean we are licensing on cores and threads, so if you inferred this from reading my post, that was not the intention, this is supposed to be an easier method for working out the number of procs needed and applies to all volume licensing programs, including Select and AcademicCheersEmma

  6. I am located in Canada, and am trying to figure out SQL Server 2008 licensing in VM environment. I have a client who has a server with 2 physical quad-core processors. They want to allocate 2 cores to a VM and install SQL Server 2008, and license on a per-processor basis. The calculator on this page shows the client should buy a 1-processor license, yet our local Microsoft licensing rep has advised them to license 2 processors, and provided a quote from the Right-of-Use agreement for SQL Server:"I) Running Instances of the Server Software. Your right to run the software depends on the option used to determine the number of licenses required. i) Unlimited Virtualization. If you assign to a server licenses equal to the total number of physical processors on the server:(A) You may run, at any one time, any number of instances of the server software in one physical and any number of virtual operating system environments on that server. (B) You do not need to license virtual processors.ii) Licensing based on Processors Used. You may run, at any one time, any number of instances of the server software in physical and virtual operating system environments on the licensed server. However, the total number of physical and virtual processors used by those operating system environments cannot exceed the number of software licenses assigned to that server."Is this wording now out of date? I just want to be sure.

  7. Emma,I have a follow up question on SQL 2008 EE. I understand I need to license per physical processor on the virtualization host. How does this work with Live Migration? Will I need additional SQL 2008 EE licenses for the server that I am migrating the virtual SQL guests to?Joe

  8. Hi GregThe info provided to you is from the PUR and not the licensing guide, the guide is supplemental to the PUR, the guide is to help you establish how many Procs you need when you use SQL 2008 STANDARD or WG edition, you have not stated what you are using, for Enterprise, its just the Physcial Procs only, for Std/WG its Virtual and Physical procs, the guide is supposed to help you to calculate correctly, so yes, please advise your rep to follow the guideCheersEmma

  9. Hi Emma,A quick question: can this calculation (the relationship between the number of virtual processors (single core) in a VM and the maximum number of core per physical processor) be also applied to SQL-Server 2005, standard edition?

  10. I have heard rumors that this licensing option will be changing when the new Datacenter edition is released for SQL 2008 R2. Is it true that Enterprise edition will no longer allow for just licensing the processors and having unlimited virtualization and that I will need to switch to Datacenter edition instead to have this option? Thanks.

  11. Hi JoshuaI have posted on SQL Server 2008 R2 and the new editions, there will be a change to the licensing and pricing, more details to follow when finalised as R2 is not due for release for another few months, what I have advised in the post is that we always have a grandfather process for the customers on software assurance, so if buying SQL EE today, take SA and you will be in a good position to move across to DC on release if this is what you want to doCheersEmma

Leave a comment