To get the most for your money
Microsoft recently changed some details of its licensing model for SQL Server. Understanding the new licensing model might save you a lot of money on licensing costs.
In my opinion the biggest news is that Microsoft has retained the “per socket” definition of a processor. What that means is Per-Processor licensing for an eight core CPU still costs exactly the same as for a single core CPU. That can translate into saving tens of thousands of dollars in some cases if you license SQL Server per processor on a machine with few physical processors but the maximum number of processor cores.
We had expected that SQL Server licensing would catch up to current CPU technology and eliminate this tremendous bargain in the next change to licensing policy. Instead, Microsoft is embracing it as a differentiator between SQL Server and Oracle. Oracle charges on a “per-core” basis. An eight core processer that requires one SQL Server license would require eight Oracle licenses. This effectively renders Oracle non-competitive in the mid-range market.
Other changes in SQL Server licensing have affected some details of our June 2009 article on server consolidation. that article’s overall conclusion was that consolidation through multiple instances can be significantly less expensive than using virtual machines. That is still true, but the details have changed a little for SQL Server 2008, Enterprise Edition.
If you choose per-processor licensing for Enterprise Edition and license all processors on the physical server hosting the virtual machines, you may put a practically unlimited number of sql server instances in each virtual machine or separate virtual machines installed on the same physical server.
This sounds good but, in my opinion it has little practical value. Management does not generally approve the expensive Enterprise licenses for servers that do not absolutely need them. Consequently, most of the Enterprise Edition SQL Servers I know of (and I have worked on several hundred enterprise systems), are mission critical, high volume, high-availability servers. They are not candidates for virtualization. They usually need all the resources you can throw on a Windows Server and cannot tolerate the overhead of virtualization.
There is probably some value in this licensing model for test and development servers that must run in the same environment as the production servers. But a scenario where you might want to put several production servers on one or more virtual machines hosted by a single physical server is somewhat unrealistic.
Conclusion
The take-aways from this are: To save the maximum amount on licensing, use fewer physical processers with the most cores per processer.
In regard to server consolidation, using multiple SQL Server instances on the same physical server is likely to be cheaper than licensing SQL Server Standard Edition on separate virtual machines, but in some configurations that might not be true. There are issues regarding performance, high-availability and portability that must be considered before a final decision is made between multiple database instances and virtual machines. If you would like to review these issues, here is a link to our earlier article on server consolidation:
You might also want to download Microsoft’s current SQL Server Licensing Policy to look over: