In virtual environments, all products in the Per Processor licensing model are licensed by virtual processor. If you run the software in virtual Operating System Environments (OSEs), you need a license for each virtual processor used by those OSEs on a specific server, rather than all the physical processors in the server. If you run the software in physical OSEs, you need a license for each physical processor used by the physical OSE.
The Per Processor licensing model is slightly different than for other Microsoft server products. Instead of stating how you may use the software on a server for each license, it states how you may use the software on a server after the server has been appropriately licensed. To license a server appropriately, you must follow three steps for each Per Processor product running on the server:
- Count the number of physical processors that the physical OSE in which the software will run is using.
- Count the number of virtual processors that each virtual OSE in which the software will run is using. (A virtual processor is considered to have the same number of threads and cores as each physical processor on the underlying physical hardware system. Fractions of virtual processors count as full virtual processors.)
- Add the numbers together and assign that number of licenses to the server on which the software will run.
After the server has been appropriately licensed, you may run any number of instances of the software in any number of physical and virtual OSEs on the licensed server.
Similar to hardware partitioning, the licensing model treats virtualization technology as a means of assigning and allocating processors to a specific workload. For example, to determine the required number of licenses for SQL Server Standard (licensed Per Processor) for server A in Figure 14 (assume each processor is a single core processor):
- Step 1—There are no instances of SQL Server Standard running in the physical OSE. The count for this step is zero.
- Step 2—There are instances of SQL Server Standard running in two separate virtual OSEs. Each of those virtual OSEs is using one virtual processor. The count for this step is two.
- Step 3—To license server A appropriately for SQL Server Standard, you must assign it two SQL Server Standard licenses.
Figure 14 – Licensing Per Processor products by virtual processor.
Similarly, to count the number of licenses for BizTalk Server for server A:
- Step 1—There are no instances of BizTalk Server running in the physical OSE. The count for this step is zero.
- Step 2—There are instances of BizTalk Server running in two separate virtual OSEs. Each of those virtual OSEs is using one virtual processor. The count for this step is two.
- Step 3—To license server A appropriately for BizTalk Server, you must assign it two BizTalk Server licenses.
The number of licenses required is not affected by the number of instances of the software running in a particular OSE. It is based on the number of physical or virtual processors used by each OSE running the software.
Under this model, you may find that you assign more virtual processors to virtual OSEs than the total number of physical processors in the server. For example, in Figure 15, SQL Server Enterprise Edition is running in five virtual OSEs, each of which is using one virtual processor. Assigning five SQL Server Enterprise Edition licenses to server A is one way to license it appropriately. However, SQL Server 2005 also provides an alternative for SQL Server Enterprise Edition. With SQL Server Enterprise Edition, you may license all the physical processors on a server and then you may run any number of instances in OSEs on that server without licensing the virtual processors. This would be the most cost-effective way to license the scenario below. BizTalk Server 2006 R2 Enterprise Edition has the same licensing option.
Finally, instead of acquiring six Windows Server 2008 Standard licenses, you could acquire four Windows Server 2008 Datacenter processor licenses, one for each physical processor. You would then have the right to run any number of Windows Server instances on the licensed server. You could also acquire two Windows Server 2008 Enterprise licenses, which provide the right to run up to eight (four for each license) Windows Server 2008 instances in virtual OSEs at the same time.
Figure 15 – More virtual processors than physical processors.
Instances of Per Processor products on servers that are not using virtualization technology run in the physical OSE of the server, and a license is required for each physical processor in the server. For example, in Figure 16, you need four processor licenses for SQL Server because there are four physical processors in the server. The number of licenses required is not affected by the number of instances of the software running in a particular OSE. It is based entirely on the number of physical or virtual processors used by the OSE running the software.
Figure 16 – Licensing Per Processor products running in the physical OSE.
As discussed above, both BizTalk Server 2006 R2 Enterprise Edition and SQL Server 2005 Enterprise Edition have expanded use rights. If you license all of the physical processors on a server, you may run any number of instances of the server software in the physical OSE and any number of instances of the server software in virtual OSEs. In this case, you do not need to license virtual processors. For example, by assigning four licenses of SQL Server Enterprise Edition to a server with four physical processors, you may run any number of instances of SQL Server Enterprise Edition in the physical and virtual OSEs.
Q. How do I license SQL Server 2008 for my virtual environments?
A. For Standard, Workgroup, and Enterprise, if you decide to license on a per processor basis, you must buy a SQL Server license for each virtual processor. For Enterprise Edition, you can also choose to license all physical processors in a box. This gives you rights to run SQL Server on any number of virtual processors running on the same physical server. If you use Server/CAL based licensing, for Standard and Workgroup editions, you must obtain SQL Server licenses for each Virtual Operating System Environment on which you run instances of SQL Server. However, for the Enterprise edition, if you have a Server license for the physical Server, you may run any number of SQL Server instances in any Virtual Operating System Environment that you run on that same physical server.
If you are using hardware partitioning on a multi-processor server, you can use any number of virtualized instances for SQL Server Enterprise Edition as long as all processors in that hardware partition are licensed. For example, if you have a partition of 10 physical processors on a 32-processor server, purchasing 10 processor licenses of SQL Server 2008 gives you the rights to run any number of SQL Server instances on physical or virtual environments on that partition.
Q. What are the virtualization license rights for Windows Server 2008?
A. The virtualization rights with Windows 2008 haven't changed from Windows Server 2003, except for Windows 2008 Standard. In Windows 2008 we have the following versions: - Standard Edition - One physical instance and one virtual guest instance running at same time. This is new in Windows 2008. - Enterprise Edition - One physical instance and four virtual guest instances running at same time - Datacenter Edition - One physical instance and unlimited number of virtual guest instances running at the same time It is this new 1 + 1 licensing for standard that makes the new Microsoft Hyper-V Server purchase attractive only if you want a virtualization server running guest OSs that are not Windows Server. That's because Windows 2008 Standard has 1 virtual license and a full server capability on the server. It's not just restricted to Hyper-V, it could have additional roles added in the future or repurposed. If you want Windows 2008 just for virtualization, buy the standard version and install in its core mode with only the Windows Server Virtualization role, which is essentially what Hyper-V server will be.
Windows Server 2008 Datacenter allows for running an unlimited number of virtual instances per server license. Windows Server 2008 Enterprise allows four simultaneous virtual instances per server license.