Guide to SQL Server virtualization best practices
A comprehensive collection of articles, videos and more, hand-picked by our editors
As you'd expect, Microsoft SQL Server 2012 includes an assortment of new and updated features. Some changes you'll
welcome with open arms; some you'll need time to get used to. One that falls in the latter camp is the new licensing model, particularly as it pertains to virtualization. The confusing morass of fine print might strike many IT managers as a harder nut to crack than SQL Server itself. Yet if your organization is planning to virtualize SQL Server 2012, you better know what to expect before you start shelling out cash.
The key to understanding the new virtualization licensing model starts with understanding SQL Server 2012's new set of editions and the base licensing models that accompany them. SQL Server 2012 now supports these three editions that must be licensed:
- Enterprise edition: Contains all the product features
- Business Intelligence edition: Contains most product features, but not those related to high availability
- Standard edition: Contains the components necessary to support basic database and business intelligence capabilities
SQL Server 2012 does not include the Datacenter and Workgroup editions found in earlier releases. However, Microsoft still offers the Developer and Express editions, neither of which apply to the new licensing structure. Microsoft also continues to support the Web edition, but that's available only to third-party software service providers.
If you plan to purchase one of the three primary SQL Server 2012 editions, you can choose from the following two licensing models:
- Per Core: You must license all physical cores on the server running SQL Server 2012. Microsoft requires a minimum of four core licenses for each physical processor. You can purchase core licenses only as two-packs and only for the Standard and Enterprise editions.
- Server/CAL: You must license the entire server that's running SQL Server 2012. You must also purchase a client access license (CAL) for each device and user accessing any of the SQL Server components. Server/CAL licensing is available only for the Standard and Business Intelligence editions.
There are more guidelines that you must follow when licensing SQL Server 2012, but this should provide you a basic overview of how it all works. Keep in mind when you start virtualizing SQL Server 2012, the landscape quickly changes.
The first model -- virtual machine (VM) licensing -- lets you license each virtual machine individually, without having to license the entire server or its physical cores. Under this model, you can choose from the two standard SQL Server 2012 licensing options: Per Core or Server/CAL.
If you go with the Per Core option, you must purchase a core license for each virtual core within the VM that's hosting SQL Server 2012. For licensing purposes, Microsoft equates a virtual core with a virtual thread, virtual processor or virtual CPU. And, as with a physical core license, you must purchase a minimum of four core licenses (two 2-packs), and you're limited to the Standard and Enterprise editions.
In some cases, you might use hyper-threading to split a physical core into two hardware threads. In such cases, Microsoft requires a core license for each thread that supports a virtual server. And if a single hardware thread supports multiple virtual cores, you must license each of those cores.
The second option for licensing a VM is to go with the Server/CAL approach. Similar to a hardware license, this option requires that you buy only one server license for each VM running SQL Server 2012, along with the necessary CALs. It doesn't matter how many virtual cores have been allocated to the VM.
For more on virtual environments
SQL Server security in virtual environments isn't that hard
Virtual environments in SQL Server: true or false?
he Server/CAL option targets mainly the Standard and Business Intelligence editions. However, some SQL Server customers might be eligible to apply this option to the Enterprise edition if they upgrade to SQL Server 2012 through the Software Assurance (SA) program, which provides benefits to those who purchase volume licenses. Other customers might also be able to use the Server/CAL option if an existing enterprise agreement with Microsoft explicitly permits this type of licensing. In either case, customers can license up to four VMs under this model.
In some circumstances, you might find it beneficial to license the Enterprise edition at the server level, rather than licensing the individual VMs. To get the most flexibility, you must license all the server's physical cores and acquire SA coverage. That way, you can deploy as many VMs on the server as you want, and you don't have to track individual VMs or monitor such issues as the number of virtual cores or whether hyper-threading has been implemented.
If you license the Enterprise edition without SA coverage, you're limited in the number of VMs on which you can install SQL Server 2012. That number is based on how many physical core licenses you purchase for the server. For example, if you've purchased 16 core licenses, you can run up to 16 VMs that have SQL Server 2012 Enterprise edition installed.
Supporting dynamic virtual environments with License Mobility
Another consideration when licensing SQL Server 2012 is whether you'll be moving your VMs from one server to another in a server farm. With basic VM licensing, you have to wait at least 90 days before you can move a VM to a different server. However, your organization might need to move VMs more frequently to best use server resources. Microsoft provides an option for this scenario called License Mobility.
If you refer back to the figure above, you'll see that License Mobility is an option available to both the Per Core and Server/CAL license models and is available to all three SQL Server 2012 editions. But there's a catch. You have to purchase your licenses with SA coverage.
SA coverage now includes the License Mobility feature, which lets you reassign your licenses to different servers as often as necessary to accommodate shifting workloads. This is especially beneficial for dynamic virtual environments in which resources must be regularly reallocated. Without License Mobility, customers would have to maintain enough licenses on each server to accommodate potential shifts.
Clearly, there is much to consider when determining how to license SQL Server 2012 in a virtual environment. How many VMs will you support? How many users and devices will access SQL Server? How dynamic is your VM environment? Every option has costs associated with it, and choosing the wrong one can result in hefty fees above what you need to be paying.
Before you implement SQL Server 2012, try to understand everything you can about how SQL Server's licensing works, both in and out of a virtual environment. For more information, visit SQL Server's licensing page. There you'll find just about everything you ever wanted to know about SQL Server 2012 virtual environment licensing.