gsaunders-2123 avatar image
0 Votes"
gsaunders-2123 asked TravisCragg-MSFT commented

Azure VM Sizing for SQL Server 2017 Standard and application

Windows 2016 or 2019 Server Standard
SQL Server 2017 or 2019 Standard (desire 32GB to 64GB RAM)
Application Server

From a SQL processor and licensing I can have 4 CPUs or up to 24 cores I think.

So if I want to get 8 cores I know I can't have the VM see 8 CPUs from Azure as it would only use 4 of them.

So what I need is 4 CPUs with 2 cores each or 2 CPUs with 4 cores each. 

I know it is all virtual, but that is what Windows and SQL need to see.

So then I go down this crazy rabbit hole trying to figure this out.  In the VMWare world it was super easy as I can say how many sockets and how many cores per socket.

In azure I see no such thing... so I have read a lot about vCPU and the ACU's and so forth, but not sure exactly what a specific sizing will show me in Windows / SQL.

From what I am reading any size that is not using hyper threading would look like 1 socket processor with 1 core up to x sockets.

If it is one of the hyper threading it may look like 1 socket processor with 2 cores, but really that is using hyperthreading to mimic cores.

So I think I would pick something like the E8s_V4 which looks like 8vCPU which I think would look like 4 Sockets with 2 cores each, but I could be totally missing this.

I have ready a ton of Microsoft Documents and just can't seem to get a full picture of how to control this for maximizing the cores vs CPU for SQL Standard.

Any help or feedback would be appreciated.

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

TravisCragg-MSFT avatar image
0 Votes"
TravisCragg-MSFT answered TravisCragg-MSFT commented

@gsaunders-2123 You are right on with your research, Azure presents you with virtual 'Cores', but they appear as physical cores to your VM. Assume that it is 1 Azure core = 1/2 of a dual core physical processor with the listed speed.

If your SQL server needs 4 dual core processors, an 8 core VM is what you want. Your OS should see it as 8 distinct processors.

One thing to keep in mind in Azure is that changing your VM size is easy, and only requires that you restart your VM (in most situations, there are some cases where your VM will not need to reboot). If you see that you need more or fewer cores, it is easy to change the size at any time.

Make sure to read the performance best practices for SQL Server on Azure VM before setting up your server!

· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Thanks Travis,

The part I am trying to figure out is which Azure plan to pick to make it look like 4 dual core? 4 sockets each dual core or 2 sockets with 4 core.

In VMWare it was simple as I just picked how I wanted it to look to the OS.

I don't see that in Azure. I see the plans and sizes based on vCPUs, but not sure how to translate that into sockets / cores to Windows OS and SQL so I can get the full benefit of 8 cores (whether the cores are actually hyperthread vs real core).

From Microsoft:
The Standard, Web and Express editions of SQL Server are limited to a set number of sockets or cores, whichever is smaller. On a VM, a logical CPU counts as a socket – so, for a Standard edition license, you would be limited to 4 logical CPUs. However, it is possible to use Virtual NUMA in Hyper-V or vNUMA in VMware to provide a virtual socket/core architecture to the VM, allowing you to license more logical CPUs for SQL


0 Votes 0 ·

If you are trying to license a SQL Server in Azure, your best bet is to follow the Azure Specific guidance. If you want to continue down the dual core road, you can try the HB-Series VMs.

In Azure, when you use marketplace images you are charged for the licensing costs of SQL & Microsoft automatically. If you have any specific questions on this, please let me know.

0 Votes 0 ·