Hi Shao
as Olaf already stated, for an official Microsoft statement and a legal advice, please get in contact with MSFT Sales.
If you just want to have a recommendation aka a personal advice on how other people handle/understand this:
You have three options:
- if you just have that one VM running on your ESXi and you don't want to run several SQL Server VMs additionally, then it is sufficient to just license that one VM. you just need to buy licenses for the number of cores you provided to the VM. (minimum 4 licenses/cores) if you want to use e.g. VMotion feature to move your VM between your cluster nodes => you have to have an active Software assurance for all those licenses
- if you plan to run install some more different VMs that might run an SQL Server installations, then you also can license each indiviuell VM properly. you just need to buy licenses for the number of cores you provided to each VM. (minimum 4 licenses/cores) if you want to use e.g. VMotion feature to move your VM between your cluster nodes => you have to have an active Software assurance for all those licenses
- You also can license your complete ESXi environment with SQL Server, in order to run - for example - 128 one threaded SQL VMs on your environment... you have to buy licenses for each possible thread which can be provided to a VM with SA.
For a better understanding, please read the license datasheet:
[https://download.microsoft.com/download/f/0/d/f0d7004e-9e39-4991-853b-2aa09e4ce456/SQL%20Server%202019%20%20Licensing%20Datasheet.pdf