SQL Enterprise is absolutely licensed per processor.
You will get better performance if you don't pin (set affinity) to specific processors.
There are a couple different things to take into account... depending on how your ESXi install is licensed.
If you are using either the free version, or any paid version (excluding Advanced and Enterprise Plus), you can only present a max 4 vCPUs to the guest
If you are using Advanced or Enterprise Plus, you can present up to 8 vCPUs to the guest
From a licensing standpoint,
You could simply license the 2 physical processors (not cores) and you would be done with it, regardless of vCPUs presented to the guest
You could present 2,4,8 vCPUs (depending on edition) and leverage the "cpuid.coresPerSocket" advanced setting to only present a single (multi-core) vCPU to your guest. At that point, you would only need to use 1 CPU license for SQL 200x Enterprise Edition
There are a couple ways to do it.
Also, remember, with SQL 2005/8 Enterprise Edition, if you license both physical CPUs in that system, you can run an unlimited number of SQL Servers/Instances. If you plan on using SQL 2008 R2, you'll need Datacenter Edition to get unlimited SQL Servers/Instances, as SQL 2008 R2 Enterprise will only give you 4 Servers/Instances (like Windows 2003/2008/2008 R2).
Hope that helps.
Jase McCarty
http://www.jasemccarty.com
Co-Author: VMware ESX Essentials in the Virtual Data Center (ISBN:1420070274) Auerbach
Co-Author: VMware vSphere 4 Administration Instant Reference (ISBN:0470520728) Sybex
Please consider awarding points if this post was helpful or correct
