Apart from limited-time exceptions for certain existing customers, the latest version of SQL Server no longer offers a per-processor licensing model for any edition. SQL Server 2012 (formerly code-named Denali), which officially became available in Apr. 2012, has a per-core licensing model, where each physical core within each processor must be licensed individually. Required with Enterprise edition and one of two supported licensing models for Standard edition, the move to per-core licensing will result in higher costs for some high-end servers going forward. Organizations that move quickly might be able to reduce some of the impact.

The Road to Per-Core Licensing

Since SQL Server 2000, two licensing models have been offered for SQL Server. The first, the server-Client Access License (CAL) model, which requires a license for each server and one for each client user or device accessing it, remains largely unchanged in SQL Server 2012 for the editions that continue to offer it.

The second, the per-processor model, licenses the product for each physical processor (sometimes called a socket) in the server. This model is useful in situations where client devices and users cannot be counted or the costs of doing so would be financially prohibitive, such as servers connected to the Internet. In general, the per-processor model roughly aligns SQL Server license costs with the capacity of the server being licensed, regardless of how many clients may ever connect to it. However, hardware developments over the past several years have broken the link between a server's capacity and the number of physical processors it has. Processors are now almost all multicore: Each physical processor contains multiple processing units (cores), each of which can run an independent sequence of instructions in parallel. Manufacturers now ship processors with as many as 10 cores per physical processor, giving each individual processor more parallel capacity than entire servers had when the per-processor model was introduced with SQL Server 2000.

Consequently, SQL Server 2012 drops the per-processor model and replaces it with a per-core model, which requires a license for each core within each processor. As a result, IT decision makers purchasing SQL Servers will now have to consider the total core count across all processors in each server they purchase, where previously they only needed to know the processor count.

The change in SQL Server licensing mirrors how some Microsoft competitors license their technology, but it is less complex in some cases. For example, some vendors attempt to use methods such as a software-based performance benchmark to license software based on the actual workload capability of the processors on a system.

Counting Core Licenses

SQL Server 2012 core licenses will be sold in 2-core packs. Regardless of the actual core count, every processor licensed per-core requires a minimum of two 2-core packs (four core licenses). The rules for counting cores vary by processor architecture and depend on whether SQL Server is run directly on a server or in a virtual machine (VM).

Physical OSE Core Count Depends on Processor

Many organizations still run SQL Server in the installed OS environment of a server, called its physical operating system environment (OSE), rather than in a VM. For physical OSEs, the number of core licenses required for SQL Server 2012 depends on the total number of physical cores in each processor within the licensed server.

Making a subset of the cores within the server inaccessible to SQL Server (e.g., disabling cores in hardware or through Windows) does not reduce the number of core licenses required. What matters is the actual or physical number of cores in each processor. The number of cores or other execution units visible to Windows as logical processors outside of physical cores also does not affect the calculation. (See the illustration "Understanding Logical Processors".)

The effective number of cores in a server depends on the number and type of processors it has. Each processor is considered to have an effective number of cores equal to the physical core count in the processor, multiplied by a processor-dependent "core factor" in a table published on Microsoft's Web site.

For most processors, the core factor is one, so the rule is simple: One core license is required per physical core in the processor. However, there are currently two notable exceptions. First, single-core or dual-core processors require four core licenses (a result of the rule dictating a minimum of four core licenses per physical processor). Second, AMD 31XX, 32XX, 41XX, 42XX, 61XX, and 62XX Series processors with six or more cores are considered to have three-quarters of a core per actual core; that is, a core factor of 0.75. For example, a server that had four 6-core processors would be licensed as if it had 18 cores, not 24. Intel processors with six or eight cores would be licensed with a core factor of one, resulting in six or eight cores per processor to license, respectively.

Virtualization Changes Core Counting

With hardware virtualization, an organization can encapsulate a complete SQL Server installation together with a copy of Windows Server in a VM. Rules for SQL Server per-core licensing for virtual OSEs are different than for physical OSEs.

No core factor is applied when counting core licenses in a VM. Instead, SQL Server 2012 requires a core license for each virtual core; that is, each processor core visible to the virtual OSE. Furthermore, every virtual OSE requires a minimum of four core licenses. This means, for example, a virtual OSE that has access to three virtual cores will require two 2-packs of core licenses, for a total of four core licenses. (See the illustration "Licensing Virtual Machines Per-Core".)

Microsoft has stated that additional core licenses might also be required if each virtual processor within a VM is using more than one logical processor simultaneously, or if a logical processor is supporting more than one virtual processor simultaneously. In effect, the use of hyperthreading to support increasing numbers of VMs more efficiently or to support VMs more efficiently with fewer cores is likely to require additional core licenses.

Licensing each core within a virtual OSE is the only method of licensing VMs running SQL Server 2012 Standard. However, if all physical cores on a physical server are licensed with SQL Server 2012 Enterprise, the customer gets special virtualization rights: The maximum number of virtual OSEs the customer is entitled to run is equal to the number of core licenses purchased for that server. If that same server is covered with SA, the product use rights expand to incorporate any number of virtual OSEs running SQL Server on that server for the duration of the SA term. An organization that is using significant virtualization to consolidate SQL Servers may find that Enterprise edition per-core licensing of the host, and perhaps adding SA, may be a more affordable option than licensing each VM.

Other Core Licensing Rules

The per-core licensing model has two other notable rules for determining the number of licenses.

Multiple instances within the same OSE don't change core license requirements. SQL Server is different from most Microsoft technologies in that it supports running multiple instances of some components, including the database engine, in the same OSE. Multi-instancing enables multiple independent database servers (instances) to provide SQL Server functionality to different applications on one instance of Windows. SQL Server allows unlimited instances in a single OSE as long as that OSE is properly licensed; either all cores in a physical OSE or all virtual cores in a virtual OSE.

License pairs may be split. Customers must buy core licenses two at a time, but they may assign the licenses in a pair to different servers. This can be important in some cases. For example, a computer with a 6-core AMD processor might require five SQL Server core licenses (three-quarters of six, rounded up). An organization could license this computer with three pairs of core licenses and assign the single unused core license of one pair to a different computer. Similarly, an organization might have a pair of VMs, each on a different server and each running SQL Server on five virtual cores. The organization could license the two VMs with five pairs of core licenses, splitting one pair across the two servers.

Core Pricing Varies Across Editions

SQL Server 2012 is available in three editions. The impact of the change to per-core licensing is different across each edition, as each has different licensing requirements.

Standard edition is the lowest-cost edition of SQL Server 2012 and is the only edition provided with both server-CAL and per-core licensing options. For Standard edition, the price of 2008 R2 was US$7,172 per-processor and the price of 2012 is now US$1,793 per-core. Like its predecessor, SQL Server 2012 Standard edition has a technical maximum limit of 16 cores per instance and 64GB of RAM.

Business Intelligence (BI) edition includes all features from Standard edition and adds many BI-focused features that are new or enhanced with SQL Server 2012. BI is only provided with a server-CAL licensing model and does not offer a per-core licensing option. However, the BI edition imposes limits on the number of cores used: it allows a maximum of 16 cores per instance (and 64GB of RAM) for all workloads other than BI, while allowing BI workloads to use the maximum number of cores and RAM available to it. The price of BI edition server licenses is identical to the price of server licenses for SQL Server 2008 R2 Enterprise, US$8,592.

Enterprise edition includes all features from the BI edition and adds many high-availability, disaster recovery, security, and manageability features that are new or enhanced with SQL Server 2012. Previously available under either a per-processor or server-CAL model in SQL Server 2008 R2, these two models are being phased-out for Enterprise edition, and, outside of a few limited-time exceptions, per-core will be the only option moving forward. (See the sidebar "Phase-out of Per-Processor Licensing Model".) The price of SQL Server 2008 R2 Enterprise edition is US$27,495 per-processor, and the price of SQL Server 2012 Enterprise is US$6,874 per-core. SQL Server 2012 Enterprise edition enables the maximum number of cores and RAM visible to the edition of Windows it is running on.

(SQL Server Workgroup edition and Datacenter editions have been discontinued. In the 2012 lineup, Standard subsumes Workgroup, and Enterprise offers a superset of the features delivered with SQL Server 2008 R2 Datacenter.)

At these prices, servers with four or fewer cores per processor (as calculated by Microsoft's core factor table) will cost approximately the same for a SQL Server 2012 edition as they did for the corresponding SQL Server 2008 R2 edition. For servers with more than four cores per processor, prices will be increasing. (See the illustration "Per-Core Impact on Overall Price.")

Customer Can Convert Licenses with SA Coverage

Customers with active SA on SQL Server processor licenses as of Apr. 1, 2012 will have to exchange their processor licenses for SQL Server 2012 core licenses if they subsequently renew SA. SA is a subscription offering that provides product version upgrades and other benefits for an annual fee (for server-based applications, 25% of the cost of the underlying license). This is a perpetual right; customers may deploy the SQL Server 2012 upgrade they've earned even if they later let SA expire, although the license and product use rights that are retained in perpetuity may vary.

The exchange rate for Standard edition or Enterprise edition is one processor license of SQL Server 2008 R2 for four core licenses (two core 2-packs) of SQL Server 2012. Customers of the less frequently used 2008 R2 Datacenter edition will receive eight core licenses (four core 2-packs) of SQL Server 2012 Enterprise, as there is no longer a Datacenter edition of SQL Server 2012. Customers using SQL Server 2008 R2 Workgroup will receive the same two core 2-packs in exchange for one processor license, but will receive SQL Server 2012 Standard licenses, as there is also no longer a Workgroup edition of SQL Server 2012.

For some customers, the default processor-to-core conversion rates may be insufficient to adequately license the server hardware they have deployed. For example, if a customer runs SQL Enterprise edition on a server with two physical processors that each have six cores, the default 1-to-4 conversion rate would yield eight core licenses, which isn't enough to license the same server after the conversion. To handle such a situation, Microsoft allows customers to claim extra core licenses. In this example, the customer would claim a 1-to-6 ratio by buying SA coverage for 12 core licenses rather than for eight. While the extra four core licenses would essentially amount to a free license grant, the customer's annual SA payments would rise 50% compared to the prior SA coverage period.

Before renewing their SA coverage period, customers planning to claim a core license entitlement that exceeds default conversion ratios should document their actual core counts using a tool such as the Microsoft Assessment and Planning (MAP) toolkit. This way the customer will be in a position to substantiate the claim if it were ever questioned.


All prices listed are Open No Level (NL), representing the highest price a U.S. customer would pay.

A high-level summary of the available editions of SQL Server 2012 is available at www.microsoft.com/sqlserver/en/us/future-editions/sql2012-editions.aspx.

The SQL Server 2012 Licensing Quick Reference Guide is available at download.microsoft.com/download/7/3/C/73CAD4E0-D0B5-4BE5-AB49-D5B886A5AE00/SQL_Server_2012_Licensing_Quick_Reference_Guide_Mar2012.pdf.

The SQL Server 2012 Core Factor Table is available at download.microsoft.com/download/9/B/F/9BF63163-D8F9-4339-90AA-EBC9AAFC49AD/SQL2012_CoreFactorTable_Mar2012.pdf.

A high-level licensing overview of SQL Server 2012 is available at www.microsoft.com/sqlserver/en/us/future-editions/sql2012-licensing.aspx.

A summary of the editions and components of SQL Server 2012 is available from msdn.microsoft.com/library/ms144275(SQL.110).aspx.

Features supported by each edition of SQL Server 2012 are described at msdn.microsoft.com/library/cc645993(SQL.110).aspx.

The maximum capacity specifications for SQL Server can be found at msdn.microsoft.com/library/ms143432(SQL.110).aspx.

The compute capacity limits (processor limitations) by edition of SQL Server are described at msdn.microsoft.com/library/ms143760(SQL.110).aspx.