SQL Server 2012 features and licensing

Microsoft have released SQL Server 2012 to manufacturing. It will be generally available from the beginning of April 2012 in three main editions – Standard and Enterprise as before, plus a new Business Intelligence edition which sits between the two.

Instances of SQL Server 2005, SQL Server 2008 and SQL Server 2008 R2 will be upgradeable to the new version. However SQL Server 2000 will have to be upgraded to an intermediate version first. The important changes are in licensing but let’s look at features first.

New SQL Server features – Contained Database

The typical SMB installation which relies on the relational database engine, Reporting Services and some analysis and business intelligence. For these users, the new features in SQL Server 2012 are unlikely to give a compelling reason to upgrade. Many of the enhancements are directed towards large scale data warehousing and business intelligence installations. There are enhancements to SQL Server’s ability to participate in cloud and distributed computing – expect to hear talk about Hadoop, the open source scalable computing framework supported and used by companies such as Amazon and Facebook.

One more widely applicable feature to come out of this however is the (self) Contained Database. If you’ve ever had to migrate a database to a different server, you’ll appreciate how useful a database that contains not just the data but also metadata, jobs, and users could be.

Database management – AlwaysOn

There are improvements to database management, the most interesting of which is the AlwaysOn replication feature. One early reviewer has described this as “database mirroring on steroids”. You can have multiple replicas of a database at different locations, any of which can be made readable allowing them to be used for reporting purposes. You can group databases so that they failover as a synchronized set. Different groups can be sent to different servers allowing older hardware to be repurposed as failover secondaries without having to match the performance of the primary server hosting the full set of databases.

There are also general performance and stability enhancements, but for most SMB users the bottleneck tends to be the hardware rather than the database engine so these are useful rather than vital.

SQL Server Licensing

As hinted, the big change is in licensing. Previously, SQL Server was licensed on a Per Processor basis, where you paid for a license for each physical socket in the server; or on a Server/CAL basis, where you bought a license for the server and a Client Access License for each user connecting to the database.

Server/CAL licensing remains available for the Standard and Business Intelligence Editions. For the Business Intelligence Edition, this is the only option – the logic being that this is intended for internal BI purposes to a defined set of users. If you want to use the BI features on a public facing server, you will have to buy the Enterprise Edition.

Per Processor becomes Per Core

Per Processor licensing was becoming a problem for Microsoft as more cores were packed in leading to fewer physical processors being installed in servers. As well as reducing potential revenue, previous attempts to address this had led to a confusing licensing formula which often penalised small virtualised installations.

An installation of SQL Server Standard Edition on a virtual platform such as VMWare had to have a Per Processor license even if it only used one core of a multiple core processor. So in an extreme case, a 4-core physical processor supporting four 1-core virtual machines each running SQL Server would require four Per Processor licenses. Enterprise Edition installations were subject to different rules which, to add to the confusion, also changed between SQL Server releases.

Microsoft have switched to a much simpler Per Core licensing model in SQL Server 2012. This is the only way of licensing Enterprise Edition, with the number of cores only limited by the operating system; and an option for Standard Edition, with a maximum of 16 cores per server. The expectation is that a Core license will be less than the former Processor License, but the net cost on a like-for-like installation will likely be higher.

Licensing for virtualised installations

Where this model does benefit the end user is on a virtualised installation. With SQL Server 2012, you simply pay for a Per Core license for each core allocated to the VM. So our 4 core example will require four Per Core licenses rather than four more expensive Per Processor licenses. If you want to license the host server instead, you can buy an Enterprise Edition Per Core license for every core and have the right to run as many virtual machines as there are cores. Add Software Assurance and you can run an unlimited number of virtual machines.

Cost

Although final pricing is not yet available, it is reckoned that the cost of SQL Server 2012 will be on average 20% higher than previous versions. In justification of that, Microsoft have commissioned research which suggests the improvements will help the application to pay for itself in 12 to 14 months. And if you’re quick, you can purchase an Enterprise for Application Platform (EAP) agreement at current pricing levels, which will entitle you to a free upgrade under Software Assurance to SQL Server 2012.