Virtual SQL - Standard vs Enterprise, per-core

  • Hi,

    I understand that licensing all the Cores in a physical host with Standard Edition and SA give almost the same benefits as Enterprise Edition with SA, but what does the one that isn't included in Standard - Unlimited Virtualization - actually mean?

    I'm working on a 2-site design that involves SQL versions 2012 through 2019:

    only a single passive copy is needed for each version = Standard

    license mobility = Standard

    next version rights = Standard

    SQL will ideally be installed and "balanced" between the nodes in each site, so each version will be on a different host

    all active copies will be in the primary site

    all passive copies will be in the secondary site

    What I do understand (I think!!):

    without SA, both active and passive copy CPUs need to be licensed. These hosts are 32 cores each, so that would be 12X 32 cores. This is massively unaffordable for the customer (and most customers in fact!)

    if I forget balancing across all 6 hosts and do it over say only 3 of them, if I have SA for either Standard or Enterprise, I can move all the SQL VMs from one host to a 4th with 'License Mobility'. For this I would need to license 3x 32 cores instead, as long as I only ever run SQL workloads (permanently) on any 3 nodes at a time

    with SA and "free" passive copy, in can pick and choose any of the secondary site hosts, i.e. with 3 hosts licensed in the primary site I can actually use all 6 and be more separative with the passive copies. If I have 24 databases, 8 on each host, I can actually spread all the passive copies between all 6 hosts, so 4 instances on each

    without SA, I have to essentially dedicate the cores to a passive copy VM

    Think that's everything!

    Thanks so much!!

  • My advice - contact your license vendor.  They will be able to provide you the best bang for your buck and the best advice about what licenses you actually need.

    You may have some deals with your vendor that we are not aware of and our advice may end up being more costly for no benefit.

    The above is all just my opinion on what you should do. 
    As with all advice you find on a random internet forum - you shouldn't blindly follow it.  Always test on a test server to see if there is negative side effects before making changes to live!
    I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.

  • The other advice would be to upgrade at least the 2012 and 2014 instances.  Also, if each host has 32 cores, are some of them really low usage where you might save some big $$$ on consolidating instances onto fewer numbers of servers?

     

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • I don't know if SQL Server still allows cpu affinity to be used, but if it does, you might look into that and thus licensing fewer than 32 cores.  That's a HUGE amount of CPU, which won't likely be needed for OLTP, and not for most OLAP.  The exception could be if the app load included massive sorts, which are very expensive operations.

    SQL DBA,SQL Server MVP(07, 08, 09) "It's a dog-eat-dog world, and I'm wearing Milk-Bone underwear." "Norm", on "Cheers". Also from "Cheers", from "Carla": "You need to know 3 things about Tortelli men: Tortelli men draw women like flies; Tortelli men treat women like flies; Tortelli men's brains are in their flies".

  • It's been said already but I will say it again - With something as legally binding as licensing, don't trust public forum as the truth, speak to Microsoft, speak to your Partner, speak to your Reseller they know the in's and out's of your companies agreements with Microsoft as you can have differences between other companies which make licensing on the public domain hard.

    The following is my interpretation of the licensing guide

    https://www.microsoft.com/en-us/licensing/product-licensing/sql-server

    If you have Standard Edition and you are licensing VM's you have to license the VM OSE.  So you have 4 virtual machines with 4 cores each, you need to purchase 16 Standard Core licenses

    Licensing individual VMs is the only licensing option available for SQL Server 2019 Standard Edition

    customers who are running the software in a virtualized environment under the Per Core model.

    You cannot license hypervisor hosts under Standard Edition

    If you are licensing Enterprise edition there are two ways

    1. License the individual VM OSEs
    2. License the actual HyperVisor Host(s)

    Option 1, given the same example 4 VM's with 4 Cores = 16 Enterprise core licenses needed

    Option 2, you need to ring fence some compute area just for SQL, so if you have 1 large Hyper-V / vSphere cluster, then all nodes and all cores need to be licensed, (6x32).  If you create two Hyper-V / vSphere clusters (4 nodes in 1, 2 nodes in the other) and ensure all SQL VM's are spun up on the 2node cluster then you only need to license 2x32 as the SQL VM's cant move clusters, but can move nodes of the cluster.   You cannot have a VM move from 1 host to another without licensing all the hosts in the cluster, so they all need to be licensed where SQL "COULD" be running from, you don't get an N-x discount on the unlimited virtualisation, its license all hypervisor nodes in the cluster as Enterprise or you license the VM OSE's as Enterprise.

    Now your passive side, well that all boils down to having valid SA so you get mobility rights and passive rights (assuming they are truly passive, cold, idle), you still will need to ring fence compute just for SQL workload, you cannot have a 4&2 node hypervisor cluster in Prod and a 6node hypervisor cluster in DR as that's not like for like as you need to license the highest possible workload area, which if you didn't split DR out into 4&2 would still be 6x32 core licenses needed.

     

    Pretty much if SQL can see it at either the VM or Hypervisor setting it has to be licensed accordingly.

     

    Again just my interpretation of the licensing guide, don't take the above as truth, speak to your official partners

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply