Hardware

Strategies for licensing SQL Server on a per-processor basis

Licensing is one of the most challenging aspects of a Windows Server administrator's job. Here are a few pointers on per-processor licensing and storage assignment.

Pre-processor licensing can get complicated when it comes to SQL Server. In a previous tip, I stated that forthcoming editions of SQL Server will introduce new considerations for licensing the product on a per-processor basis to obtain the unlimited virtualization rights for database instances.

The unlimited virtualization rights benefit is made easiest when using virtual machines. Further, the benefit is not fully realized unless the Windows Datacenter edition is licensed on the processors to allow unlimited virtualization rights for the Windows Server operating system as well. However, there is a problem that arises in most virtualization installations: If a SQL per-processor virtual machine can move freely among any host in a cluster, each processor requires a SQL per-processor license; this can exponentially increase the licensing cost for a virtualized SQL Server.

Instead of giving up on obtaining the unlimited virtualization rights benefit, companies should architect systems to fit the licensing allocation. You can take the following steps to limit the processor footprint and the licensing requirement:

  • Create a dedicated cluster. This will allow a specified number of hosts and processors to be in a logical container to house SQL Server workloads. In most situations, this will be a smaller cluster and typically use one or two socket host systems.
  • Perform Logical Unit Number (LUN) masking. By having a dedicated LUN for SQL Server virtual machines that is visible to selected host systems or servers, you can control where the virtual machines can run. In an example where a total of four SQL processor licenses are available, LUN masking two host systems with two sockets each can control the virtual machine location. Even if the cluster has other host servers, the virtual machine cannot move to those hosts freely. Virtual machine storage migration technologies can move them, but that is not free movement.
  • Use a management tool to enforce a placement policy. One tool to check out is the HyTrust Appliance, which can enforce policy at an incredibly granular level beyond that of the base security model; this can be for licensing and security configurations. A user may be an administrator in the virtual infrastructure, but may have the permissions to move a virtual machine across hosts, but not across datastores as an example with the HyTrust Appliance.
There is no one-size-fits-all solution for licensing SQL Server on a per-processor basis in a virtualized infrastructure. For your organization, the right solution may be a combination of these tips and other strategies that are appropriate for a specific situation. Note: You should always consult your Microsoft licensing professional for a confirmed configuration for your requirements, license entitlement, and customer program level.

How does organization go about licensing SQL in a virtualized infrastructure? Share your comments in the discussion.

TechRepublic's Servers and Storage newsletter, delivered on Monday and Wednesday, offers tips that will help you manage and optimize your data center. Automatically sign up today!

About

Rick Vanover is a software strategy specialist for Veeam Software, based in Columbus, Ohio. Rick has years of IT experience and focuses on virtualization, Windows-based server administration, and system hardware.

5 comments
dwright
dwright

Microsoft is doing their best to move everyone to MySQL and Postgres

jeyer
jeyer

we have always been under the impression ( from our vendors) that if you have SQL running on a server with say 4 quad-core processors. ( 16 cores). it would be best to get the unlimited lic for the server. As you would need 16 lic. and this was told to us by most verndors. Have always thought this was wrong. Clarify. Thanks

CloseToTheEdge
CloseToTheEdge

I've been watching a critical system that was built on all of these wonderful "free" products by a bunch of MIT grads go down over and over again because of serious issues with handling a slightly increased load. When you take into account time to market, support, less than optimal performance, etc... it pays to go with a product that can actually do the job. My company's success can not be pinned to something just because there's little to no up front costs!

jerimys
jerimys

SQL Server per processor licensing is per processor, not per core. You would have only needed 4 processor licenses.

randy_scadden
randy_scadden

That is correct you would have needed 4 Per Processor Licenses. The best way to think of and remember this is they are referring to the actual "physical" processor and not the actual cores. Even though the system sees multiple CPU's again it comes back to the physicality of the actual CPU itself they are referring to. Hope this helps.