Virtualization is one of the most rapidly growing
technologies in IT today. Driving this growth is
virtualization’s ability to decouple the server from the
underlying hardware, letting you run multiple virtual
machines (VMs) on a single hardware platform and
easily move the VMs (along with their underlying
guest OS and servers) to different hardware platforms.
Many organizations have adopted this technology as
a server consolidation method. But virtualization isn’t
the only way to consolidate servers. Every release since
SQL Server 2000 can support multiple SQL Server instances
on the same system—unlike other Microsoft
server products.
Multiple server instance support in SQL Server
essentially lets you run multiple occurrences of SQL
Server’s database engine on the same server. SQL
Server 2005 Enterprise Edition supports up to 50
server instances. ISPs and other hosting scenarios
often use multiple SQL server instances so that multiple
clients can each have control of their own SQL
Server database server without a dedicated hardware
platform. So how do virtualization and multiple SQL
server instances compare?
The first, and in many cases the most important,
factor to consider is performance. Because of their
nature, virtualized servers don’t provide the same
level of performance as a physical machine because
the virtual environment creates additional overhead
that takes away from performance. Most estimates
put VM overhead at about 10-15 percent. In a server
consolidation environment, the impact will be even
greater because of the workloads supported by the
other VMs. In contrast, server instances run on the
physical hardware and, aside from whatever workload
might be generated by the queries running on
the server instance, there is no additional overhead.
Virtualization and server instances are similar in
their administrative aspects, but running multiple
SQL server instances has a couple of advantages. Because
there’s only one installation of the OS and the
server software, server instances require less patching.
With virtualization, each VM has its own guest
OS and server products, which must be managed and
patched. In both solutions, hands-on server management
tasks are performed using Enterprise Manager
or SQL Server Management Studio.
In terms of deployment and recovery, virtualization
has an edge on its competition. With virtualization,
you can build base images that can be deployed
to a new server in a matter of minutes. Then, a VM
image can be backed up or replicated to a remote site
and, in the event of a failure, could be brought in-line
in minutes or even seconds.
Another factor to consider is licensing. Multiple
SQL server instances don’t require any additional
SQL Server licenses. For virtualization, each SQL
Server system that’s running in a guest VM must be
licensed—unless you’re running SQL Server 2005 Enterprise
Edition, which provides unlimited VM usage.
The bottom line is that both methods can be effective
solutions for server consolidation. To help you decide
which solution is right for you, see the resources
listed in this month’s Your Savvy Assistant. But remember,
just because virtualization is today’s hot technology
doesn’t mean that it’s the only game in town.