The cost of a SQL Server license is quite high. This is why the typical method of deploying SQL Server in a virtualized environment can become exceedingly expensive. One of the advantages of virtualization is each database instance can have its own virtual machine and doesn’t have to fight for resources with other instances. Unfortunately, if you license per VM and SQL Server instances are not sharing a VM, they’re also not sharing a license. If each SQL Server instance is given its own VM, you will pay thousands of dollars in SQL Server licensing per VM – far from an ideal situation. If you take the unlimited virtualization approach where the underlying physical cores are licensed for Enterprise Edition, licensing can become even more costly, since Enterprise Edition carries a list price of around $7000 per core.
What if we undo standard best practice in the virtual space and put multiple instances of SQL Server in a single VM in order to save on licensing? There’s nothing fundamentally wrong with this from a Microsoft licensing or technology perspective, but there is an “all your eggs in one basket” problem to confront. Unplanned outages, troubleshooting and modernization can incur downtime that affects multiple business units. Some have said that there is nothing wrong with the single basket approach – as long as you protect that basket really well.
This means that you’re going to need to have some type of high availability (HA) solution and disaster recovery (DR) solution to face the various scenarios that would take out the VM or physical machine running all these instances, because the loss of this VM or machine will take out many instances at once. You also need a means to facilitate maintenance tasks without causing service interruption. The difficulty now is that the built in HA solutions that come with Microsoft can also be very expensive and difficult to administer.
DH2i DxEnterprise solves the MSSQL licensing problem in a unique way. First, it virtualizes the connection to the database using a virtual IP address and connection. All further connections to that database then go through that virtual connection. DxEnterprise then installs the same instance binaries on each server or VM you want to be able to run that instance, providing high availability, application mobility, and disaster recovery.
DH2i’s claim is that this allows you to put many more instances on a single SQL Server license without the previously mentioned limitations. Failing over for testing, DR purposes, or modernization is very easy, as all client connections are via the virtual IP address. The same is true if you need to move a single instance of a given server for whatever reason.
While DH2i calls this process containers, we feel application virtualization is a more appropriate description. Virtualizing the SQL Server connection allows them to easily move the real instance anywhere they’d like. This can be done for DR purposes, or simply mobility reasons. Often instances are tied to a VM or piece of hardware for many reasons that add no value to the organization. Application virtualization gives customers the freedom to put instances where they’d like.