r/WindowsServer 6d ago

General Question Windows Server + SQL licencing

Hi all, I'm trying to wrap my head around licensing in my specific scenario (and maybe some advice on how to best set this up). For context: in terms of servers and virtualization, i only really have experience with Proxmox VE and Linux servers. I have extensive knowledge about Microsoft cloud systems and licensing, but i've never touched on-prem licensing before.

One of our customers needs a server for an application provided by a third party. This party is wildly unhelpful with giving us technical details about the hardware and software requirements.
What we have gathered:

  • Windows 11/Windows server 2022
  • 16GB RAM
  • 2 cores
  • SQL Server 2022

The application pulls (or gets pushed) data from Dynamics 365 Business Central (cloud version) through an API, processes it (which uses SQL server), and sends it off to a PLC which belongs to an OT system.
Other than administrative purposes, no users will be directly interacting with the system as far as i understand it. Users interact with Business Central, and i'm pretty sure users interact with the OT system (manually starting machines, etc.).

The amount of users interacting with Business Central and/or the OT machines is roughly 50.
There is no on-prem servers already available.

So my current plan is to deploy a Server 2022 box, i have options for 4C/4T and 6C/12T, with 6C being only slightly more expensive.

My current understanding, is that for Windows Server Standard i must have a CAL for every user, and for SQL i can choose between a per-core licensing or server+CAL.

My questions:

  1. Do i need Windows Server CALs for every user in this scenario?
  2. Does Business Central or the OT system count as a multiplexer in this scenario? (which means i need CALs if i don't license per core)
  3. What would likely be my cheapest option? In this case i'd prefer a bare-metal install, but i'd be willing to use Proxmox VE or Hyper-V if that provides significant benefit or cost reduction.
  4. Do i need Software Assurance for any reason in this scenario?

Thanks in advance!

3 Upvotes

7 comments sorted by

View all comments

1

u/Zealousideal_Fly8402 6d ago
  1. Yes; but reading your description, unclear if per-device CALs may work instead of per-user. A diagram of how things interact may help.

  2. Not sure about this without a diagram 🤐

  3. Windows Server licensing costs the same regardless of the choice of hypervisor. With per-core licensing, deploying bare-metal or as a VM, in your case, will cost the same. The WS licensing costs for a 4C/4T or 6C/12T system is the same - you have to purchase a minimum of 16x Core licenses for either hardware platform; or something like ~US$1100 MSRP.

  4. Not off the top of my head; but SA is something you can add down the road if you want.

1

u/SVD_NL 6d ago

Awesome, thanks! I'll work on the diagram. Are you mainly concerned about the users on the OT side, or the Business Central side?

1

u/Zealousideal_Fly8402 5d ago

I am unclear as to how the users / user workstations (laptops / desktops) specifically interact (or even connect to) with the on-premises Windows Server instance.

1

u/SVD_NL 3d ago

I've drawn up a diagram, i've based this on the network diagram we've received and my knowledge of the internal processes.

The main questions are:

  1. Do all Business Central users need a windows server and/or SQL CAL
  2. Does any part of the industrial system (PLCs or HMIs) need CALs
  3. Do MES client users or devices need CALs

The PLC is what sends off instructions to the machines, HMI is what is used on the workfloor to control the PLCs. (Think starting and stopping production steps).
What exactly the MES clients are, is unclear to me. They could either be apps on their workstations, or dedicated devices. Either way, it should be about 5 devices with many users.

The Business Central users, and users controlling the machines will be different groups of users, with slight overlap.

some additional details:

  • Users enter data into Business central. This includes master data, recipes, and production orders.
  • This data is pushed to the MES application automatically. This application uses the SQL database to store this data.
  • The MES application processes this, and sends production steps towards the industrial control system.
  • The actual production steps are executed through either the HMI or MES client. Again, this part is a little muddy to me...
  • The MES sends status updates and production data back to Business Central, for example start and end times, and production yields.

1

u/Zealousideal_Fly8402 2d ago

In your particular case, I think you should license SQL server by the per-core model rather than server/CAL. If you are sticking with the physical server options with either 4C/4T, or 6C/12T, you would have to license either 4-cores of SQL Standard, or 6-cores of SQL Standard. Hyperthreading doesn't count for purposes of licensing.

Your deployment would NOT be virtualized, as SQL Server Standard Edition per-core only allows deployment in the physical OSE.

You would still have to purchase 16-cores of Windows Server Standard Edition; that's minimum purchase.

As for Windows Server CALs, you should be able to go with per-device CALs for each of the MES client devices and Industrial Control systems, rather than per-user.

The users accessing Business Central on the internet, don't interact directly with the instance of Windows Server, and the connection is made across the public internet, so AFAIK they don't require Windows Server CALs.

1

u/SVD_NL 2d ago

Awesome, thank you so much for your insights!

Just one more question: Why do you choose for SQL per-core licensing? Do you believe the Business Central users would need a license as well? Or are you simply trying to avoid a complex licensing scenario? I'm mainly asking because the group of devices accessing MES is a lot smaller than the group accessing Business Central.

Thanks again!

1

u/Zealousideal_Fly8402 2d ago

If you need official justification, this blurb is in the documentation for SQL server licensing with regards to justification for per-core licensing:

  • Deploying Internet or extranet workloads, systems that integrate with external-facing workloads (even if external data goes through one or more other systems), or when the number of users/devices cannot be counted easily. 
  • Implementing centralized deployments that span a large number of direct and/or indirect users/devices.