In a Sql note "you should never put applications in each other's way if you do not have to.. Applications sharing memory, CPUs, internal tempdb can cause an issue. One application submitting a runaway query can cause server to go to single halt." (SQL Server 2012 Unleashed) (Rankins)

Our company has 5 different applications. None of the multiple applications touch each other or utilize cross database joins. If company budget is not limited, resources are unlimited, and we have small overhead/ample time to administer different servers, should we place all applications on 5 servers boxes?


2 Answers 2


Unlimited everything?

Sure, buy five different physical boxes at $50,000 each hardware alone, use Core-based Enterprise licensing with SA, patch them all, administer them all, and pay annually for the licensing.

Realistically? In a way you can justify to accounting?

Use a physical box either directly running Windows and SQL Server, or via a hypervisor,

  • give it plenty of RAM (enough to fit your entire DBs if you can afford it) - if you're stuck with Standard Edition, 128GB is the max (leave some for the OS)
  • a couple good, fast CPU's
  • and put your data on fast, reliable enterprise solid state drives - either local or on the SAN.
  • I do agree; do not put your actual applications on your SQL Server system/guest.

If they step on each other, look at the Resource Governor or separate VMs. Watch out for licensing costs on the latter!


Separate SQL Server instances trivially allow distinct tempdbs, and allow limitations on the amount of server memory each instance is allowed. It may also be possible to restrict instances to specific CPUs. However, by the time you do that, the advantages of sharing a single server would tend to evaporate. If you wanted to limit the CPUs an instance can access, and you've got a virtual machine environment, simply setting up distinct virtual machines with the number of CPUs each instance should have makes more sense.

This would also prevent the possibility of a significant server issue that requires the reboot of the server itself - you can restart 5 SQL Server instances on a single machine separately, but a reboot of the server itself takes them all down. I would be inclined to say that, given no budgetary constraints, separate servers for each application would make sense.

Of course, in the real world, that sort of situation (no budgetary constraints) is rare. Ultimately, a hybrid approach may be appropriate. If certain applications are more critical than others, set them up on separate servers. Set up less critical applications as instance on a single server.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.