Some of the most exciting developments
in IT technology today are in processors and virtualization. Processor technology has
been advancing faster than ever before. The
advent of 64-bit x64 technology has been
followed quickly by dual-core CPUs, quadcore CPUs, and integrated virtualization
capabilities at the CPU level. Virtualization
has also been rapidly evolving. Not so long
ago, all of the major virtualization products
were high-priced offerings from Microsoft
and VMware. Now, both of Microsoft's virtualization products, Virtual PC 2007 and
Virtual Server 2005 R2, are free.
With the rapidly growing adoption of
advanced processor and virtualization technologies, chances are that your business is
either already using or is preparing to use
one or both of these technologies. As you
prepare to use either multicore CPUs or
virtualization, you must be aware of the
licensing ramifications for the OSs that
support them and applications such as SQL
Server 2005.
Licensing can be confusing for SQL
Server users because SQL Server is licensed
per CPU. Both multicore processors and
virtualization affect the number of processors, albeit in different ways. With multicore
technology, Microsoft's position is that you
need to license according to socket, not
according to the number of processing cores.
In other words, if you've just purchased
a new quad-core server that has a single
quad-core CPU, then you'd buy one license
for one CPU, not four. (The CPU might
have four processing cores, but there's just
one socket on the motherboard. So for SQL
Server, you'd license a single CPU.) Similarly,
if you purchase a dual-processor quad-core
server that has two quad-core processors,
you'd need a two-processor license.
Virtualization raises similar questions. What are the licensing requirements if you buy a powerful 8-way server that's intended
for server consolidation, then you install
four guest virtual machines (VMs), each
running a different SQL Server instance?
Do you need to license the SQL Server
instances as having eight CPUs? The
answer is no. The SQL Server instances that
run in the guest VMs are licensed according
to the number of virtual processors that are
configured in the VM, not the number of
CPUs that are available in the host. Therefore, if you configure each of your four
guest VMs with a single virtual CPU, they'd
each use a single CPU license. If one of the
VMs needed additional processing power
and you configured it to use two virtual
CPUs, the SQL Server instance running on
that VM would need to be licensed for two
CPUs. The important thing to remember is
that when running on a VM, SQL Server is
licensed according to the CPUs in the VM.
It doesn't matter how many CPUs are in
the physical host.
With SP2, SQL Server 2005 Enterprise
Edition now offers unlimited licensing of
virtual SQL Server 2005 instances. And
Microsoft's recent virtualization licensing
changes enable Windows Server 2003
R2 Enterprise Edition to run four active
virtual Windows Instances and Windows
Server 2003 R2 Datacenter, which allows
an unlimited number of active Windows
instances. These changes could be beneficial
and cost-effective for customers who are
considering virtualization technology. If
you have any questions about SQL Server
or virtualization, be sure to visit our forums
at http://forums.windowsitpro.com/web/forum/default.aspx