With the release of SQL Server 2014, we get to learn all kinds of new licensing changes. While I don’t work for Microsoft legal, I do have a PDF reader and a web browser. You can follow along in the SQL Server 2014 Licensing Datasheet… if you dare.
Server + CAL Licensing is Still Around
It’s only for Standard Edition and BI Edition.
Microsoft are highly recommending that VMs be licensed as Server + CAL (rather than per core). This can make a lot of sense when there are small, single application SQL Servers that cannot be consolidated for security reasons. Having a number of Server + CAL license for 1 or 2 vCPU instances can be much more cost effective than having a large number of core based licensed.
Of course, it makes even more sense to just license the entire VM host…
Standby Servers Require Software Assurance
Prior to SQL Server 2014, many shops were able to deploy a single standby server without licensing SQL Server. Log shipping, mirroring, and even failover clustering allowed for an unlicensed passive node, provided that the passive node didn’t become the primary for more than 28 days.
If you want to have a standby node, you’ve got to pony up and buy software assurance. Head over to the SQL Server 2014 Licensing Datasheet; at the bottom of page three, it reads “Beginning with SQL Server 2014, each active server licensed with SA coverage allows the installation of a single passive server used for fail-over support.” The passive secondary server doesn’t need to have a complete SQL Server license, but Software Assurance is a pricey pill to swallow. In short, Software Assurance (SA) is a yearly fee that customers pay to get access to the latest and greatest versions of products as well as unlock additional features that may have complex deployment scenarios.
In case you were confused, high availability is officially an enterprise feature. Note: I didn’t say Enterprise Edition. I mean enterprise with all of the cost and trouble that the word “enterprise” entails in our modern IT vernacular.
All Cores Must Be Licensed
You heard me.
To license a physical server, you have to license all of the cores. Don’t believe me? Check out this awesome screenshot:
It’s even more important to consider alternatives to having a number of SQL Servers spread throughout your environment. SQL Server consolidation and virtualization are going to become even more important as SQL Server licensing changes.
Finding new ways to analyze, tune, and consolidate existing workloads is going to be more important than ever before. Your ability to tune SQL Server workloads is going to be critical in successful SQL Server deployments. The days of worrying when the server hit 25% capacity are fading into history – as licensing costs increase, expect server density and utilization to increase, too.
Standard Edition has a new definition
“SQL Server 2014 Standard delivers core data management and business intelligence capabilities for non-critical workloads with minimal IT resources.” You can read between the lines a little bit on this one – SQL Server Standard Edition isn’t getting back mirroring or anything like it. In fact – SQL Server Standard Edition sounds an awful lot like the database that you use to run your non-critical ISV applications, SharePoint, and TFS servers.
Software Assurance Gives You Mobility
If you want to move your SQL Server around inside your VM farm, you need to buy Software Assurance. VM mobility lets teams take advantage of VMware DRS or SCOM VMM. This isn’t new for anyone who has been virtualizing SQL Servers for any amount of time. What is explicitly spelled out, though, is that each VM licensed with SA can be moved frequently within a server farm, or to a third-party hoster or cloud services provider, without the need to purchase additional SQL Server licenses.”
In other words – as long as you’re licensed for Software Assurance, those SQL Servers can go anywhere.
SQL Server 2014 Licensing Change Summary
Things are changing. DBAs need to take stock of their skills and help the business get more value from a smaller SQL Server licensing footprint. Realistically, these changes make sense as you look at the broader commercial IT landscape. Basic features continue to get cheaper. More resources are available in SQL Server 2014 Standard Edition, but complex features that may require a lot of implementation time, and Microsoft support time, come with a heavy price tag.
For SQL 2014 licensing the standby servers requires not only the server license be under SA but also all SQL user and device CALs if you are still using them.
Starting development on my ultra-mega-one-core processor now… Any takers? But seriously, this per core licensing sucks… Technically speaking of course.
More cores per socket, and more sockets, means greater code complexity and more bizarre edge cases that need to be accounted for.
Do you find that a lot of workloads are CPU bound, or are you cursing the change in licensing in general?
The Standard Edition is really an odd beast these days. On one hand we get things like Buffer Pool Extension and the memory limit is doubled, but then we have a huge list of missing features required in serious database environments (partitioning, data compression, encryption and a whole bunch of security and HA things).
It’s just a weird, weird edition.
All those missing features you cite sound like advanced, mission critical features. Looking at Microsoft’s re-definition of Standard Edition, would you say that those features fit in with the marketing message?
“SQL Server 2014 Standard delivers core data management and business intelligence capabilities for non-critical workloads with minimal IT resources”
If I wanted to minimize my use of IT resources, compression would be pretty nice, as would use of indexed views w/o query hints,
I believe this refers to HR style resources… resources like you and me! We can minimize the use of IT resources by removing the decisions they have to make.
Both compression and indexed views require some sophistication to design, evaluate, and deploy. Besides, indexed views usually need query hints even in Enterprise Edition.
I would also consider encrypting sensitive data and backups at rest important with “non-critical workloads” especially when dealing with “minimal IT resources.” Alas, TDE is not in Standard Edition.
True some of those missing features are really advanced and not something everyone would just take advantage of. But then there are few that would make more sense for STD than adding Buffer Pool Extension, such as Database Snapshots. TDE should definately be in every edition, considering all the cyber threats our data is exposed to these days.
As a sidenote, I personally dont think the memory and CPU limits are an issue, which is what most people seem to complain about.
Thank you for the blog post too!
“vitalizing SQL Servers” – all DBAs try to endow their SQL Servers with life! P’haps you meant “virtualizing”?
Good catch, thanks!
It seems that Microsoft is trying to drive of the SMB. My employer simply cannot afford the financial and development resources to upgrade existing, revenue producing, applications just because Visual Studio or SQL Server or Windows Server is released in a new version. Despite the extensive “new features” offered that we techie’s get excited about the bare truth is that our revenue producing applications don’t need and won’t use most of them.
I estimated it would cost us nearly $1M USD just to License SQL 2012 for a migration of our current environment. And when we completed the migration we would not have any significant REVENUE PRODUCING improvement. Sure, the DBA would be happy the CFO will only see the $.
PostgreSQL is looking more attractive every day. 🙂
In a lot of these cases, the name of the game is consolidation.
Long ago, I was talking with the CTO of my company and we got on the subject of data center utilization. He stopped dead and asked the question “What do you think I’d say if you reported that our servers are 30% utilized?” I thought for a second and replied “You’d say our servers are 70% un-used.”
There’s a lot of opportunity out there to consolidate systems and get more bang for the buck on smaller hardware.
There’s more to be considered. What about maintenance? Consolidating often means combining applications that have very little in common, and that leads to coordination nightmares when trying to do any kind of maintenance like upgrades or switchovers.
That’s true. Or it would be if people approached consolidation in the same way that they approached fast food (cheaply, quickly, and with no regard for future consequences). Database consolidation is typically a lengthy project to help determine the best way to combine different applications. One doesn’t just go out and buy the biggest server possible and migrate every database over to it. At least, I hope that’s not what people do.
There’s a lot to consider, but when you’re worried about upgrades and switchovers (does your database run on a train?) virtualization may be a better option.
If I were to include everything that you should consider, I’d still be writing my first blog post! Carl Sagan said it best when he said “If you wish to make an apple pie from scratch, you must first invent the universe.”
Just my point of view: the only time a consolidation project would actually provide the suggested benefit is if the farm topology was never controlled to begin with.
If it weren’t for that four-core lower limit on VM hosts, I would have an instance for each application (or set of apps, whatever makes sense). It makes maintenance so much easier.
This licensing change has already caused my own company to preempt any installations of 2014. I’m sure that happens at a lot of places for a lot of reasons, but it’s the first time I’ve seen it happen. We’ve already got PostgreSQL projects in production here, and frankly, consolidating SQL Server wouldn’t have near the bottom-line impact that switching to PostgreSQL would have (for new projects .. I mean, let’s face it, there’s a high cost to converting, which is to Microsoft’s benefit, not mine).
The ‘correct’ answer Microsoft is hoping for when giving customers a large $$$ on prem SQL server upgrade bill is “migrate to Azure.”
I know many had already taken their decision to give up and migrate out of MS SQL Srv. So MSSQL is considered virtually dead. The next in row comes Windows Srv with its AD+Exchange as there are alternatives… MS policy behind the scenes is increasing prices until businesses won’t afford anymore to buy a product and would migrate to MS cloud. MS forgot that not all are stupid to do that. There are alternatives.
Sdager – given the number of readers we get here every day, I’m going to go out on a limb and guess MSSQL isn’t quite dead yet.
Oracle seems to be doing okay too, and they’re not exactly known for cutting prices.
When Microsoft first put in core-based pricing, I actually joked that they might be trying the trick you describe – raising prices on the boxed product in order to get people to move to the cloud. The Microsoft folks I know are way smarter than that, though – they know both the boxed product and Azure have to compete with many other products, not just themselves.
Thanks for stopping by! Although I have to kind of wonder why you’d be here if MSSQL is dead. 😉
I Agree SQL and Microsoft in general are far from dead. Really it’s quite the opposite, they know their products have so deeply rooted themselves in the business world for 30+ years and that some many companies and software developers are completely dependent on their products that they can get away with just about anything at this point. There is no incentive for Microsoft offer more reasonable pricing, instead they just add a few new features, slap on a new GUI to confuse everyone, add new label on the front and jack the price (oh and add more ridiculous restrictions like overpriced SA contracts just so your VM can move to a different host and avoid downtime. The truth is that competition drives down prices and makes for better products and although there are some very good alternatives to MSSQL, the cost of transitioning is just to high for most companies. I do believe MS has a goal and it’s to drive the SMB to it’s cloud, Office 365 is a prime example, I just did a comparison for a dealership with 120 users and with hardware and licensing (including Exchange and Office Pro) they basically had to choose between an upfront cost of $170K to purchase everything or Office 365 with more features and the bonus of a emergency continuity service and superior spam filter for no extra cost through the reseller for less than $1300 per month so which do you think they chose?
If Oracle and their licensing model is still around, I don’t think MS has anything to worry about.
>>bottom of page three, it reads “Beginning with SQL Server 2014, each active server licensed with SA >>coverage allows the installation of a single passive server used for fail-over support.”
Don’t see any change from 2012/2008. You need license+SA on active to get free passive node. When do you see it say that you need SA on passive node ?
Andrew – in the past, you haven’t needed SA to get the free passive node. From the 2012 Licensing Guide:
“For each properly licensed instance of SQL Server, customers can run a supporting passive instance in a separate OSE for temporary support—that is, to synchronize with the primary server and otherwise maintain the passive database instance in a warm standby state in order to minimize downtime due to hardware or software failure.”
What hurts the most for me is the requirement to license all cores. I’d rather buy a good processor and turn up the cores I need instead of intentionally buying a smaller box just because SQL is going to cost me an arm and both legs.
Ugh, this is starting to look like the old firewall licensing where you’re essentially limiting your purchase of a license to a very specific environment, and things can’t be moved.
I really find the limit of “moving” the installation around to be a violation of customer rights and I wish someone would challenge this in court. The difference between me moving this with VMotion or SCOM isn’t substantively different (to me) from some DR practice of scripting a restore on a regular basis to handle load changes. I can see the need to license all the cores on which I might move it, but preventing movement without SA feels wrong.
Ultimately I tend to agree that MS is focusing more on enterprise customers and willing to drop the SMB market. I wonder if this means that we’ll start to see less and less sales to smaller markets, who perhaps might like Azure/Cloud services better anyway.
There’s a lot more to the game here, but the license mobility and product use rights do help mold where you should license. Licensing is complex. Here’s a concise summary from the 2012 docs. http://www.microsoft.com/licensing/about-licensing/sql2012.aspx
George – did you maybe copy/paste the wrong link? That takes me to a Silverlight tool that requires a lot of clicking around and doesn’t really summarize anything.
I have not often thought of the term “Concise” while considering SQL Server Licensing 🙂
“To license a physical server, you have to license all of the cores.”
If I’m not mistaken, that started in 2012, not 2014. It’s important to point out that the cost of a core license in 2012+ is one-quarter that of a processor license in prior versions, so if you have quad-cores, it’s a wash. The licensing doesn’t seem to impact me much at this point; then again, I’m not going to 2014 anytime soon.
Rob Horwitz goes into a little more depth on it here: https://www.directionsonmicrosoft.com/sites/default/files/PDFs/Licensing_Changes_for_SQL_Server_2014.pdf
i don’t agree with the changes Microsoft made to the passive failover situation for either Standard or Enterprise.You should have 30 days to move the instance back without requiring SA on your licenses.
That said, in our environment we signed an EAP which does provide certain benefits over the standard licensing scheme. If you have a 20+ SQL Server environment, I would recommend talking with a Volume MS dealer and see what kind deal you can get and if it makes financial sense. You may save more than you think or at least some hair pulling with regards to licensing.
Great point, Chris!
Any time you’re spending enough money, it’s worth negotiating all of this with Microsoft. Since this is all a legal agreement, it’s easy enough to get a clause added to your site license, software assurance, or enterprise agreement.
I’d like to point out two things with virtualization. If you’re trying to license a single VM then you have to license a minimum of 4 cores, even if that VM only has a single core. Also, a more hidden aspect, if you have a VM on 4 physical cores with hyperthreading, you have to license all 8 virtual cores if doing per-core licensing on that single VM.
This is exactly the same as 2012, but it’s worth noting. I viewed this as a way to get people to license the whole host server, which you can only do with Enterprise and SA.
Great point. In these scenarios you probably aren’t running Enterprise Edition, though, so it may be more sensible to license SE using the server + CAL option instead of buying core based licensing.
That’s when you turn off hyperthreading to get fewer but more powerful cores for your 4 core vm instead of letting hyperthreading split them in half making it appear to be eight slower cores.
I’m not sure what you mean. Are you saying that with HyperThreading enabled, Intel CPUs are slower than without it? I’ve never read that before today. Do you have a link you could share?
Roughly speaking, 8 HT cores = 130 benchnumbers, 4 non-HT cores = 100 benchnumbers.
I believe Eric’s assumption is that therefore 1 HT “core” = 16 benchnumbers, 1 non-HT core = 25 benchnumbers. A core without hyperthreading is more powerful, but overall, performance suffers.
For physical servers, this would only matter if Microsoft’s per-core licensing treated a HT thread as a “core”, but as I understand it they license on only physical cores and don’t care about “hardware threads”.
However, this might be an important consideration in a virtualised environment, where I believe that you’re paying for the number of vCPUs assigned to a machine.
Going back to the original example, in a multi-tenancy virtualised environment with hyperthreading, you may not be sure whether your 4-core virtual machine is going to see 64 benchnumbers or 100 benchnumbers at full load, and not every hypervisor (or SysOp) is going to allow you to control this.
So what you’re saying is those hours I spent learning about SQL 2012 licensing are going to have to be repeated for SQL 2014… sigh.
Your comment about Mirroring and standard edition confused me a bit. Mirroring is not on the list of deprecated features for SQL 2014 but might be on a future edition:
And here is the suggestions as to what to use instead:
“AlwaysOn Availability Groups
If your edition of SQL Server does not support AlwaysOn Availability Groups, use log shipping.” So pay up or shut up basically on the HA options 🙂 To your point, it looks like Standard edition is going to start being pushed out less. It seems like the best solution is to not get whatever comes after SQL 2014 if they’re going to start disabling important features like Mirroring.
Right – mirroring isn’t dead (yet), but it’s been marked for death. Mirroring is on the “Features not supported in a future version” list. At some point, it could get taken away.
I don’t know that I’d stay away from deploying SQL Server 2014 or newer, but I’d start evaluating how you want to handle high availability and how you want to prepare the business to handle the free lunch being taken away. Honestly, these licensing changes are a place for senior level DBAs to shine – we can show our expertise by helping the business consolidate, virtualize, and reduce the use of expensive editions (or at least licensing core count sprawl) of SQL Server.
I don’t know that mirroring was that important of a feature – it has been replaced by AGs, but outside of that, the SE implementation of mirroring was decidedly limited by synchronous mirroring. Network latency is a terrible thing.
I’m definitely excited about having a chance to shine on those items you mentioned. I’ve been lucky enough to get that very opportunity with SQL 2012 and choosing hardware (down to the specific processor model) so that we can get our licensing costs down. It’s a great opportunity and I love the prospect of getting more into infrastructure with AG’s since they live on clusters. There is a lot of exciting stuff to learn and get my hands on.
On the flip side, I started my job in an environment with Standard Edition which let me experience a broader range of SQL Server features. So will newbies get that same exposure in 2016/2018 when the next version is released and slimmed down? Sure they can always pay $50 for a developer copy but it’s not the same as supporting it in production and some shops aren’t willing to dish out the money for Enterprise edition. At my current work place we rely heavily on Mirroring; oh and the servers are running Enterprise Edition. It would be nice to have gone straight to AGs but the timing was off when we initiated the project. I’m sure we will change things on the next upgrade before another version of SQL is released.
I’m excited about replacing mirroring with AGs and the ability to do read-only routing to help scale out a bit. Lots of awesome stuff to be excited about!
I have a client that I am migrating to SQL 2012 and they currently have 10 databases running on SQL 2005 with many of them over 50GB’s in size and the server runs in a VMware cluster with 2 SAN’s and plenty of resources. My question is should I create another larger VM with 4 socket and 4 cores / 32GB’s RAM and load multiple instances of 2012. The company has 2 heavily used databases which I would like to separate into 2 instances and then create a 3rd for all the others. I only have one 2012 BI license with 50 CALS and also I want to precent the load on one database from affecting the performance of the others by using CPU affinity and Max Memory for each instance. I also created separate vHD’s for the OS, each of the 2 big databases and a third for all the others and one for logs (shared) and one for TempDB (shared). Does this seem reasonable to improve performance or would you still just use one instance?
Hi Dan. We do exactly that kind of analysis for our clients too. If you’d like our help, shoot us an email at email@example.com.
That would be great, I will contact you on my next project but unfortunately the server I am prepping needs to be ready by Thursday morning so my time is very limited. Considering the above information do you have any advice on single vs. multiple instances in this case?
Does the loss of passive failover rights without SA apply to companies not yet on SQL 2014? I know usually once the licensing model changes you are forced into it whether you are using that version or not.
I don’t have an answer for you. I suggest you contact Microsoft, your licensing reseller, or revisit your SA terms. Since any licensing terms can be struck at any point, I can’t give you an accurate answer.
Following up – I suggest you specifically contact the Volume Licensing Service Center. They even have a toll free number to call.
Please advise. We have SQL Server 2008 R2 Enterprise. We have MSDN Software Assurance. Are we eligible to install SQL Server 2014 BI Edition today and true-up at year end, or do we need to pay for SQL Server 2014 BI Edition now because it is not in our existing install base? Thank you.
I advise that you speak to your Microsoft licensing or sales rep to find out what your Software Assurance entitles you to.
Great post! I have a SQL 2012 licensing question. For 2 node failover clustering, I do not need to buy SA for standard edition, correct? But if I want to implement 2 node failover clustering for local HA and another log shipping node for DR, can I do it by standard edition and without buying any additional licenses for secondary nodes?
Revised copies of the SQL Server 2012 licensing guide indicate that you do need SA, even for standard edition. As always, consult Microsoft on this. You may be grandfathered into a previous licensing agreement, but it will depend on how your agreements are worded.
For your “free node” – you only get one per SQL Server installation. So in the case of a two node failover cluster + log shipping, you’ll need two SQL Server licenses and SA.
Thanks Jeremiah for your nice clarification!
It really seems with Microsoft’s new service tiers for the Azure SQL Databases they are really wanting a lot of Standard Editions users to move to Azure and with the new restore options it make it more of a option than before.
I tend to boil things down to it’s most basic principles. For me it boils down to alienation and a real lack of choices presented. Pay big $ for the features you have or migrate to our cloud. I also believe they are manipulating their customer base and that’s fundamentally wrong. So if my interpretation is correct there is a choice to be made, continue being manipulated or decide to do something different where you are no longer manipulated. I’ve support MS products for more than a decade now and the trend I’ve noticed just doesn’t work for me any longer. In the early days you could tweak things to your liking, now it is much more difficult. Things were more efficient early on now things are needlessly complex and take so much more time. The “Fog” is not the answer. I have no idea where my data truly resides, I have no idea how secure my data is and once my data is there how would I get it back if I wanted to migrate elsewhere. Just reminds me of The Matrix. Blue pill or Red pill. Red pill = a bit more work, but you’re free. Blue pill = keep things the way they are.
I’m curious – what kind of things are you finding that you were formerly able to tweak but that just aren’t available to you these days? Also, what are you finding more complex?
Sorry for jumping in late but I noticed my understanding of HA is different. Just like Jeremiah I am a guy with a PDF reader and a web browser. I am not an employee of the Microsoft Legal team. Also, its very possible that the PDF content has changed since April 3rd when this blog post was written.
My understanding is that you now get a single standby instance as long as its not used for reporting, data activities or secondary backups. With that said, I find it interesting that there is no mention, a time line of how long it could reside as primary if a failure occurs.
Here is what I see in the PDF as of April 30th 2014.
“SQL Server software can be configured so that if one server
fails, its processing will be picked up, recovered and
continued by another server. Beginning with SQL Server
2014, each active server licensed with SA coverage allows
the installation of a single passive server used for fail-over
The passive secondary server used for failover support
does not need to be separately licensed for SQL Server
as long as it is truly passive. If it is serving data, such as
reports to clients running active SQL Server workloads,
or performing any “work” such as additional backups
from secondary servers, then it must be licensed for SQL
The active server license (s) must be covered with SA,
and allow for one passive secondary SQL Server, with up
to the same amount of compute as the licensed active
server, only. “
You mention at the top ” it makes even more sense to just license the entire VM host…” I haven’t been able to find any more info about how to do this.
Assuming you can, what’s to stop someone installing ESXi on a dual core machine and (sql) licensing that physical host machine, so essentially only buying 2 core licenses and running several copies of windows + sql on the same host (Ignore windows licensing and the obvious performance issues that would arise). The host is licensed, so you don’t need to buy a minimum of 4 cores of licenses
If you can license the host like this, does that tick the licensing box to say this is legal?
Hi Wayne. Check out the SQL Server Licensing Guide for more specifics. The minimum legal requirement for licensing is 4 cores, so no, that’s not legal.
Thanks for your reply. I’ve just found a similar scenario in “SQL Server 2014 Licensing Datasheet” under “High Density Virtualization”
I would have to use Enterprise Core Edition + SA and the 4 core minimum. At these prices is a non starter.
Thought I’d discovered a loop hole!
so, my question is: If i license all the cores in a server and i have SA, can i move those VMs with SQL to other hyper-v hosts in my datacenter or the VMs should stay only on that host that has all cores licensed?
You can move those guests around, but a lot depends on how you’re using SQL Server.
If you’ve only licensed one host, you can move your SQL Server licenses to a secondary for failover purposes.
If you’ve licensed multiple hosts, you can move SQL Server instances between the hosts that are licensed for SQL Server. As best as I understand it, you need to have fully licensed all host cores and have purchased SA for all hosts where SQL Server can be running. You can’t just license one host and buy SA for that one host.
Interested if anybody has some practical experience resolving Enterprise licensing in multi-node cluster farms with mirroring. Imagine 4 physical hosts – 2 in one site, 2 in another. The first site is primary, the second is DR / fail-over — and may be used for operational maintenance at the primary.
In the primary site, 1 server only is active, and serves business processing, whilst the other is a passive cluster node without SQL Server running. (No Running Instance.)
In the second site, 1 server is the mirror standby, maintaining an off-site replica for the primary site. It is a passive fail-over node for the primary. The second server is a passive cluster node without SQL Server running. (No Running Instance.)
So in normal operation, only two servers have Running Instances of SQL Server software, the primary in the primary site, and the standby mirror fail-over server in the secondary site. The other nodes offer physical redundancy with shared storage.
I believe all this is covered by Core licensing for the single primary node.
“License Mobility” allows the full workload of the single primary node to move between any servers in the “Server Farm”.
“Fail-over Server” rights (relying on Software Assurance) provide coverage for the passive mirror standby in the second site — the only other “Running Instance” in the farm.
I’m relying on interpretting directly from the PUR from April 2014. A lot of articles seem to suggest this setup requires the completely inactive cluster fail-over nodes to be licensed.
You get one free passive standby per active SQL Server instance. The mirroring secondary counts as a passive instance. In your scenario, you need at least three licensed SQL Server machines plus Software Assurance for all of them. If you ever wanted to use the fourth system for more than a serious disaster response (e.g. cluster failover while patching) then all nodes need to be licensed.
I am thinking you only need 2 SQL licenses. 1 for the primary node of the 2-node cluster in the Primary Center and 1 for the primary node of the 2-node cluster in DR.
Nice setup, I have to say.
Does this mean the old 90 day reassignment rule is no longer valid, and that to reassign a SQL 2014 license you have to have SA?
Your questions are answered in the all knowing PDF. And inside your legally binding agreement with Microsoft.
Thank you for this great topic!
But i still feel really confused about licensing SQL2014..
First we buy license for SQL2012 (coz 2014 was not released yet)
But now we want to upgrade / and we want to buy another License for our DataCenter in another Country (which will be 2014 Standard / per core)
Our environment is:
2 x Servers with fail-over clustering
2 x Sockets (with intel E7-4870) which are with 10 physical cores, so = 20 physical cores per server
OS is Windows 2012 (non R2) Standard
(it’s absolutely the same environment at the other side, in the other country)
So, first we buy license for SQL 2012 standard / per core, and we had buy 8×2 per core license = 16 Core license (coz is the STANDARD maximum option), and we buy SA (Software Assurance) with only reason to get the new version when it comes out..
So now we have Fail-Over cluster with 2012 working with 16 core and SA?
– If we want to upgrade to 2014, do we need to buy more license to run it (because of the processor cores, which are 20phisicals/40 with HT) ???
– And what will happens when the SA contract is over? … the passive node will stop working or ?
.. and for the other Datacenter in the other country:
The servers are now there, and setuped with Windows and clustered, we talk with the management to ask about offer for SQL2014, and than the SHOCK news are come..
Do we need to buy 20 Cores to run 16cores (becouse of the stupid limitation in Standard) ?
Do we need to buy SA for 20 cores, to run the passive node – for fail-over clustering ?
we wasn’t thinking to buy SA for the Datacenter in that country coz we dont think to upgrade our Software in next few years .. but with this news .. i’m really confused what to do?
Maybe we will stay on 2012.
The SQL / CAL option is not an option for us, because we will need to buy a lot of em, and will cost more than Enterprice..
You still just buy 16 cores since that’s all SE will support. Technically, once SA runs out, you need to buy another SA until you don’t run the passive node any more.
Your DR environment can get by with one license for the active SQL Server and your can probably get by without SA (on 2012 for sure), if you don’t plan on moving the instances more than every 90 days. On SQL Server 2014 you’re buying SA.
I don’t think having to license all the cores is a change. I remember that back form event he SQL 2000 days.
You always had to license all of the physical cores in the system.
Core licensing started with 2012, before that it was licensed by physical socket.
Although the cost of “1” license was lowered, in most cases you end up paying more on a core based model then per processor.
Ah yes you are correct. It was per processor. That’s what I was thinking of.
I guess I was struggling with having to license all – whatever’s – in the system, like if people are freaking out like it’s new?
Just because Microsoft changes from per processor to per core, I don’t see why that would change the overall concept of licensing all of them in the machine.
That’s all! Thanks!
Most people act like it’s something new. The 2012 guide is pretty brief about it, but the 2014 guide is much more explicit that you can’t buy a 40 core machine and license 20 cores unless you pull the cores out of the box.
A few people also seem to have wrangled deals with the licensing reps that probably shouldn’t have been made.
I guess MS should give the flexibility to license as may cores as needed irrespective of the total number of physical cores. Consider a machine with 20 cores where we can restrict SQL Server to use 16 cores with 16 cores SQL license.
Yeah licensing is so fun!
We actually called the volume licensing center to define what a “passive” node truly meant and received different answers even from Microsoft!
Another fun one is check out the sections on license mobility, if you don’t purchase SA you can’t transfer your SQL license to a hosting provider. We’ve been bit by this recently.
One question perhaps the Ozar team could shed some light on is the use of VMWare DRS. If I have a virtual SQL Server that’s licensed why do I need SA to be able to move it around within my own VMWare farm? I still only have one SQL server even if it’s on another physical host.
Is this just leftover legacy legalese tying a license to a physical piece of hardware?
Have there been any cases of Microsoft enforcing this?
You aren’t paying for one instance of SQL Server, you’re paying for the opportunity to run SQL Server in any location where that SQL Server could be located. You also could spin up a SQL Server on that machine, nothing says that you’re only going to limit yourself the number of cores that you’ve paid for.
Put another way – it’s like taxes. Just because you don’t drive on certain roads, that doesn’t mean you can tell the city/county/state you don’t want your tax dollars used to maintain those roads. Part of your taxation (licensing) is based on opportunity access to common infrastructure. If you purchase a car you have to license it – that license fee goes to road upkeep. If you purchase VMware DRS, you have the opportunity to run SQL Server on all of the machines in the DRS pool, you have an opportunity access that you pay for.
Or, to put it another way – the lawyers say so and they’re more terrifying than you.
While I’ve never seen this enforced, I’m sure that Microsoft have enforced this before during a licensing audit. Usually, though, you’re warned about these things and are given a chance to “true up” before the auditors find your filthy laundry everywhere.
Thanks for that analogy, I will definitely use that when I get those dirty looks from the business when I tell them what the licensing requirements will be! 🙂
Just want to understand the concept of core. What do you mean by 90 MS SQL cores? Does it mean 90 CPU’s or 90 servers? Please help.
A core is one logical processor on a CPU chip: http://en.wikipedia.org/wiki/Multi-core
We have purchased SQL 2014 through VLSC.My project requires one primary server and another mirror server.Is one license enough for both the servers.
What about windows server license for both servers .we have purchased only one Windows 2012 server std .Is one more required
VLSC is allowing me to download SQL 2008 which i require for another project .Can that be downloaded and installed in another computer . Or i need to purchase a separate license
If you’re using SQL Server in production, you need to license it. If you’re not using it in production, but you’re using it for development, you should purchase licenses for SQL Server Developer Edition.
If you want to use Windows, you need to license it – so you’d need two Windows licenses if you’re using mirroring and have one principal and one mirror server. Your SQL Server questions are answered in the linked licensing PDF.
We have purchased on Windows server 2012 license and one sql server 2014 license through VLSC.I have a primiary server and mirror server .Is one more SQL and windows license required for the mirror server.
The mirror server is already having Windows 2003 and SQL 2003 will the mirroring work or i need to upgrade>
You should upgrade the mirror to match the primary version. As of SQL Server 2014 unless you have purchased SA with your license you’ll need to license the mirror separately.
Both SQL Servers need to be on the same version of SQL Server. Your SQL Server licensing questions are answered in the licensing guide that is linked to in the blog post.
Vmware and license mobility. What about over licensing the hosts. We are currently under SA and are considering dropping with or new agreement this year on the VM farm. Currently we sit at a 8 server VMware farm running 2 14 core processors. So 28 cores per server. Right now as we sit we have an average of 18 VM’s on each host. If we were to drop SA this year at our new agreeemnt time we would be over lisensed on the one VM per core licensed on the host if we licensed the host cores with enterprise edition. Doesnt this allow me mobility to move VM’s and reassign a new license from the new host as long as I keep all the Host under 28 Virtual machines? Hence I am not moving the license, or license mobility.. ?
And in the future if we get close to the limit cant we just buy more core packs to over license the host to allow for that mobility?
Only someone at Microsoft sales can give you a definitive answer. As I understand it, if you want any kind of licensing mobility, you need software assurance, not too many cores of licensing.
In my last conversation with Microsoft, they stated the following: Under SA, if a DR server hosting the partner databases for any type of DR technology (log shipped, mirrored, or AlwaysOn AGs) is powered in the DR data center, it must be fully licensed. If the machine is powered-down in the DR data center, it does not need to be licensed (but how are you supposed to have up-to-date DR databases if the backup server is off??)
This seems like a major departure, as in the past under SA, you could have 1 equivalently powered DR server for every prod server. Has anyone been told anything similar?
I had a similar conversation with the Microsoft Volume Licensing Center. However when I called back with my manager we were given a different answer by a different rep.
Here’s my take, if you are licensed BEFORE SQL 2014, you are entitled to 1 and only one PASSIVE standby regardless of SA coverage. This server cannot be used for reporting or backups and must truly be passive and only in place in case of a failure of the primary server.
If you are licensed under SQL 2014 you must have SA coverage to take advantage of this benefit.
It would really be nice if licensing were easier 🙂 Hope this helps.
That’s been our experience, too – if you don’t hear what you want from one rep, call back and get another one. Kendra’s post How to Ask Microsoft a Licensing Question goes about how you can do this without getting on the phone with a sales rep, too.
As best as I understand it, 2014 and newer require SA for failover capabilities, but you still get one “free” failover license per active SQL Server instance.
In terms of licensing what is the scenario if using VMware and configuring a dedicated standby host for the event of a host failure, will this host require SQL licensing as it will only host SQL workloads in the event of a failure when licensing for maximum virtualization?
Sach – if you’re using VMware HA, and using this host exclusively as a failover for one other VMware host, and you’re licensed under Software Assurance, then License Mobility should cover you if you have to fail all of the VMs over from one host to another. You just have to be extremely careful to make sure that no one individual VM fails over by itself.
Thanks for the feedback! To confirm if you have 4 hosts dedicated to running SQL workloads with the 5 being a dedicated HA standby we would only require to license the cores of the 4 hosts.
If we have two different sites hosted by the same ISP, and run SQL Server production in one, and have a passive SQL server in the other, both part of a Windows Server Failover Cluster, and the second is 100% passive except ready for failover, must we license the second passive server or not?
The SQL Server 2014 datasheet implies no for both Enterprise and Standard, the SQL Server 2014 Licensing Guide implies on-premise only and not for hosted, and https://www.directionsonmicrosoft.com/sites/default/files/PDFs/Licensing_Changes_for_SQL_Server_2014.pdf implies for Standard but not for Enterprise but no restrictions to on-premise.
M$FT licensing is still clear as mud…
And the prod copy of SQL Server would have SA of course in my scenario…
You need software assurance for your failover installation. You do not need a full blown license for the passive server unless you have multiple standby servers.
When in doubt, consult either the Microsoft licensing guidelines or your Microsoft reseller. Not some random PDF or blog post on the internet (even this one).
We are about to come off BizSPark so are just dealing with licensing and trying to find a good M$FT reseller. The MSFT reseller said we had to license the second copy no matter what, the Licensing Datasheet implied no second license needed and the Guide only not needed if on-premise, but NOTHING else made the on-premise only distinction including the PUR.
As Jeremiah stated, if you are having questions about on premise vs hosted (private cloud, etc) licensing I would open a convo with either the Microsoft VLSC or your software reseller to get those answers.
If you want to cringe look up the concept of license mobility as a software assurance right… it gets murky quickly.
We would have SA since we run hosted under VMware so need SA for license mobility, and my understanding is that also allows a passive failover machine that can be powered on and ready for failover but can do no other active work. Seems the question is coming down to if the failover server is on-premise or not which would really suck since 2014 licensing goes out of its way to address cloud and virtual usage.
I’ve loved, worked with and gotten certified in….etc. SQL Server since v6.5.
Unfortunately, the predatory pricing model is pushing me to develop new systems in MySQL, PostgreSQL, etc.. and use the better reporting of Highcharts and other client side tools instead of the great SSRS product that went stale many years ago.
SSRS also suffers from the Microsoft syndrome of pushing multiple products on the customer rather than making the one you like better. This cash cow is being sucked dry.
Is the replica server need a license in cloud like in AWS with SA? My understanding on premise is allowed to have a replica but not sure for cloud?
With SQL Server 2012 and newer, if you have purchased software assurance, you have the right to use one standby instance. You cannot query that instance, however.
In AWS licensing gets trickier. If you have brought your own licensing, then licensing in AWS is largely the same as on-premises licensing. You will, however, need to pay attention to SQL Server Licensing Mobility. If you’re using Amazon’s licensing, you always pay for that SQL Server, even if you have a passive instance.
Thanks for clarification. the other question, is there a minimum of cores reacquired to be purchased for using standard edition and Enterprise edition( sql 2014)
The minimum purchase is 4 cores.
Do we need to license cores in secondary replica in AZ2 on AWS with BYOL ? If i understand correctly as per your last line we need to license cores in passive instance/non-readablereplica under AWS licensing model?
If you are licensed per-core for SQL 2014 Standard on a VM, are you entitled to unlimited instances on that VM?
No. If you want unlimited licensing, you need to specifically license SQL Server Enterprise Edition at the host level. It’s entirely possible to license at the guest level instead of the host level – it’s up to you to determine which path is the most cost effective.
Thanks for the info and quick response. So a core license of SQL 2014 Standard allows only a single instance?
Yes and the pricing for Enterprise licenses is astronomical. It’s Microsoft’s not so subtle effort to force everyone into their Azure hosted environment.
While I don’t speak for Microsoft, I’m pretty sure Enterprise Edition pricing isn’t a huge conspiracy to make you use Azure. For a comparison, maybe you should go price out Oracle Enterprise Edition.
The real difficulty isn’t affording SQL Server Enterprise Edition, it’s justifying the features and functionality to management. If they don’t buy in, then as far as they’re concerned, you don’t need it.
You’re licensed for the cores in that operating system. You do have to license all available cores, even if you aren’t going to use all of them.
The core license of standard would enable you to install up to 50 instances on that VM ONLY. As long as you don’t leave that VM (or OSE as Microsoft would call it).
If you wanted an unlimited number of VM’s that run SQL Server you would need to license the entire VM Host with Enterprise.
if I have multiple hosts for HA for the same VMs, and all hosts has the same number of cores, is the total cores of one host will be required to be licensed or all the hosts?
For every 1 active primary that you buy with Software Assurance, you get 1 passive secondary with the same number of corse. That means you get 1 free standby VM host, as long as it’s purely standby (and there are no VMs running on it).
Thanks, Jeremie! Do you happen to have a link to where Microsoft states that 50 instance limit? I cannot find it anywhere.
No Problem, the link is
Keep in mind, each instance is going to have it’s own max server memory, etc. So just because you can install 50 instances on one OSE doesn’t mean you really would or should.
And as usual, always consult Microsoft for the final say if you have any questions regarding fail over rights or licensing questions in general.
We have a SQL Server clustered environment. For production, we would need the full license + SA for our clustered environment.
Staging/Dev is where I have the question. Each of our apps use a SQL login for to authenticate to the SQL server and the Application for permissions to the data. Would we need to license each of the SQL Logins for the dev/qa people who connect to the server?
The last statement should read: Would we need to license each of the sql logins, OR just for the dev/qa users who connect to the server.
As I understand it, you would need a license of SQL Server Developer Edition per developer connecting to a development SQL Server. For QA and testing purposes, things get trickier. If you can honestly answer “nobody would get upset if this server never powered on again”, you can license that in the same way. If people need that server to be online and they’d be upset if it weren’t there, unfortunately, that’s production.
One thing I cannot fathom is the impact of multiple SQL instances on one VM.
Ist that covered by core licensing? I reckon it is…
Yep, just like with physical boxes.
Can anyone comment on/clarify this statement (p.20) in the SQL 2014 Licensing Guide PDF?
“License Mobility can benefit customers who license individual virtual machines (VMs) and then want to reassign those licenses to different servers within a server farm – as workloads move dynamically – or to VMs in cloud environments.
Note: License Mobility applies only to the reassignment of software licenses and is not applicable to the reassignment of running instances of SQL Server software.”
As I read this it doesn’t sound like SA is required for doing a live migration if you’ve licensed the VM…but rather for actually re-assigning the SQL licenses to a different VM. That seems pretty clear, does it not? The diagram on the page would seem to back this idea up as it doesn’t appear to illustrate the migration of a VM (as there’s still a VM icon sitting on the pHost to the left).
Page 10 expressly ruins your dreams: “For customers with highly virtualized environments who want to move VMs dynamically across servers to reallocate resources as needed, Microsoft permits License Mobility as an exclusive SA benefit available for all SQL Server editions.”
You can move the licenses once every 90 days. So, without SA, you can live migrate/VMotion a VM as often as you want… as long as you don’t want to move it more often than once every 90 days. And if you have a disaster within that 90 day window, you technically can’t move that license for DR purposes.
Under virtualization, moving the VM counts as reassigning the licenses to the new host. Sad trombone
I have a question about SSIS/SSRS, if I have a license for Enterprise editions, If install SSIS or SSRS( report Server part) on the application server, does that require a new license for those tools? .
Both tools will be connected to that DB server( ent) .
Thanks for the help.
If you install any of the big 4 components, Database Engine, Integration, Reporting, or Analysis services it counts as a license.
So if you have spare core licenses available you are fine, if not you need to license that server.
I suppose I should also say the obligatory “it depends”.
If you are in a virtualized environment and you’ve licensed your host with Enterprise edition you are entitled to run as many VMs on that host as you can fit.
Your best resource in any licensing questions specific to your environment would be Microsoft though.
Hope this helps!
Can you start a new thread on SQL Server 2016 licensing? We run SQL Server in a VM under VMware in the cloud, and have no idea what the physical platform looks like. To our OS it seems we have 4 CPUs or Cores. Can’t tell the difference! we pay for 4 processors for 2014 EE…
Dave – SQL Server 2016 isn’t out yet, and Microsoft hasn’t set up the licensing.
Seems they’ve announced for 2016Q3 and there is already a LOT of confusing discussion about their new core licensing that they have talked about, that is supposed to bring parity between on premises, virtual, cloud. Not wondering about actual prices yet, just how one determines what a core is when my VM says it has 4 processors which are probably just 4 cores on a real processor since at a hosted site running vSphere. Indications are that SQL could become 4x as expensive if they force me to have a minimum of 16 cores. Hosted VMs in general are extremely confusing for SQL licensing.
Dave – can you point to where “they’ve announced for 2016Q3”?
Sorry, it was not official, and it did only say “anticipated” in Q3.
Dave – ah, yeah. I’m also anticipating my new Porsche 911, but there doesn’t seem to be an exact date attached to that one yet either. 😀
Still, official release date aside, it’s likely sometime this year, and they have made several announcements about licensing changes yet again. My concern is what is a core vs. a processor on a VM at an ISP? My VM shows 4 processors which are 4 cores on a real processor under VMware. A question for the current licensing model as well.
SQL Server is licensed by the core. If you’re licensing the guest (rather than the host), you license every core that you see. If you go into Task Manager and see 4 cores, then you pay for 4 cores.
Thx Brent. On our Win2012 servers, system properties shows 4 processors, and task manager says 4 sockets and 4 virtual processors. So to me that is 4 cores and for SQL 2012 EE there is a 4 core minimum per VM so we are good.
Need input on this scenario:
I am using enterprise licensing. I have a ESX blade in London with 3 hosts. Only 1 SQL VM (2012 enterprise) with 4 cores is running there, and it has the ability to v-motion across the 3 hosts. Do I have to pay for the 3 hosts i.e. 24 cores on each hosts, 24×3=72 or just the 1 host which is 24 cores of just the cores for the VM which is 4 cores?
Sarmad – if you only have 1 VM, you’re usually best off licensing just the cores in the VM, so 4 cores in this case.
For a passive node NOT serving any production load (reporting, backing up etc) you don’t need a license. On the back of that – are you OK to back up system databases on the passive node and still remain passive…
Paul – can you elaborate on where you got that information from Microsoft?
Hi Brent: What I mean is. If you have say a 2 node 2014 AlwaysOn AG cluster. The second node is pure DR and no user databases used for or serve a production load. So by right the node is classed as passive (correct), and if you have primary licensed with SA then you do not have to have secondary DR licensed as per “Passive fail-over rights are now a Software Assurance Benefit in SQL 2014: https://blogs.technet.microsoft.com/volume-licensing/2014/05/29/licensing-how-to-sql-2014-licensing-changes/”
So the query was – If I run active backup scheduled jobs of the “system” databases only on the secondary node, is the node still classed as passive?
Paul – for that, you’ll be best off contacting Microsoft. I would turn it around though and ask why you’d back up the system databases on the secondary node. In most cases, something that would cause me to restore the system databases would also cause me to believe the entire node is not trustworthy, and I’d rather discard and rebuild it.
Granted where possible I’d rebuild if instance is that far gone that looking at restoring system DBs.
In this instance I’ve a DR server that is significantly different in spec to primary (CPU, Memory, disk layout…). It also runs on different site and there are some specific jobs that would have to run in DR and that use local resources so they are different than primary. And there are also logins specific to that site. They are all documented/scripted etc so for now I’ll leave off the sys backup job and will contact MS Rep. Thanks, Paul
Yep, there you go – you want to script those things out rather than restore the system databases.
Hi Brent: If I have two 16 core hosts and license all 32 cores for Enterprise, would I be able to use DRS/Vmotion between these two hosts without purchasing SA (for license mobility)?
Nelson – what happens when one of the hosts fails?
Obviously it’ll be a requirement to have DRS enabled. I was just hoping that both hosts wouldn’t require the extra mobility license since we would have already licensed all cores in both hosts. Sounds like that’s not the case.
Anybody have an answer for this…I’ve gotten feedback two different ways.
* Have SA.
* We have a three node AO AG setup.
* first two nodes are read when secondary. So two licenses.
* third node is our DR passive…no read intent. That’s are free passive.
* We want to add an fourth passive at our DR site. No read intent.
Do we get another Free passive since we pay for two Licenses? or since they are in the same AO cluster, do we have to pay for a third license. I.E. is it one free passive per Cluster or one free passive per paid license?
John – it’s one free passive for each primary paid with Software Assurance.
OK. I understand… if I have a physical server, I purchase for all CORES. Then, I can install the “default” instance. However, I cannot find the language about how many NAMED INSTANCES I can install on the same hardware. At one time, it was open to what your hardware could handle. Anyone know what the current MS license for SQL allows? Thanks.
TigerInNC – last time I looked, the max was 49 instances. You can learn more here: https://www.brentozar.com/archive/2015/04/microsoft-sql-server-licensing-simplified-into-7-rules/
hi Brent & the great SQL Server community — I have a big quandary I was hoping I could get some expert feedback on:
Trying to onboard an AWS *dedicated instance* R4.4xLarge (122gb RAM, 16 cores) with *up to 10gbps EBS backed volume* WITH SQL Server Standard 2014, strictly for DW workloads (no high availability or any fancy stuff). Unfortunately due to the “up to 10gbps EBS” limitation, even striped io1 volume performance is sucky, at best.
If I onboard an instance twice as big, say an R4.8xLarge (244gb, 32 cores), with *full 10gbps EBS backed volumes*, then the performance is satisafactory, can achive significant IO speeds.
Question: I was under the impression that since SQL Server 2014 Standard Edition is limited to 16 cores and 128gb RAM, that’s all that one has to pay for, as far as licensing, regardless if the dedicated instance has more RAM and more CPU’s. Frankly, I do not need more CPU’s, but the memory and 10gbps backed volumes are paramount. (Buffer Pool Extension setup is also an option, unfortunately the speed is again limited by the “up to 10 gbps backed EBS”.)
Now, depending on who I ask, they will tell me that I need to license all 32 cores, which is prohibitive.
Another idea we have considered is the fact that the SQL DW processing NEVER reaches or is seen by the web facing client –the data, as in our case, is fully embedded into a web application server that again, does not touch SQL Server. Can I use the MSDN (non-PROD) license then, in that case? Again, depending on who I ask, I get different opinions.
thanks much for any clarity or options,
Cos – instance design is really outside of the scope of something we can do in a blog comment, but click Consulting at the top of the page. This is exactly the kind of thing we do in our consulting work.
hi Brent, thanks for the follow up. It turns out, the R4.4xlarge instance is backed by an IO thats half as good as the R4.8xlarge instance so that was part of the problem. The second part of the issue should be resolved by acquiring a Server + CAL license, which in our case, for a very small dev shop, is much better than the per core license. So, employing an R4.8xlarge instance w/ Server + CAL license seems to be the least expensive solution, at least for us.
Cos – make sure to read the SQL Server Licensing Guide very carefully. If the data is consumed by multiple users, they each need a CAL, even if they don’t directly talk to SQL Server. (Search the licensing guide for “multiplexer.”)
yes, got it. thanks bunches, Brent!!
“Beginning with SQL Server 2014, each active server licensed with SA coverage allows the installation of a single passive server used for fail-over support.”
I want to setup log shipping on two passive servers. These servers won’t be used as a fail-over. If a disaster happens, I will restore a backup of the primary from our VM backups. Then I would take a backup of the sql server databases from either of the passive servers to get the data up to date. Does this scenario fall into the licensing above? Or since they are not being used as fail-over servers, they wouldn’t need a production license.
The act of installing SQL Server means it has to be licensed.
If you have active SA you are entitled to install one additional instance/server use purely as a standy in the event of failure.
If you want to have 3 nodes total and you have SA you would need licenses for 2 of the 3 nodes.
As always please contact Microsoft for the official answer on any licensing questions.
Are SQL Server license changes retroactive to previous versions? Or do outdated versions retain their licensing specifics?
For example, we have a customer who is still on 2012 and is looking at DR options. Can we still use the single passive failover instance with a 28 day expiration outlined in the 2012 licensing agreement or will be need to invest in software assurance?
If they own a license for 2012 they are able to use the one free standby without having SA as long as it’s truely a passive failover.