We help IT Professionals succeed at work.

SQL Server 2014 on a domain controller

In attempting to install the above on a DC (Windows Server 2012 R2 Essentials 64 bit os) I get a warning message that it is not recommended. Why is this, and if I need SQL server 2014 to run database software , what am I supposed to do?
Comment
Watch Question

Operational DBA
Commented:
Beyond the advice of: don't do that.  I got nothing.  It's a security nightmare - you're one SQL injection away from losing your entire domain.  In regards to what you should do, stand up a new server for SQL Server.  If they really HAVE to be on the same server, at least install the hyper-v role and make them VMs on the same physical host.


Nothing explicitly prevents you from doing this, but here are the restrictions: https://msdn.microsoft.com/en-us/library/ms143506.aspx#DC_support
Dan McFaddenSystems Engineer

Commented:
It is recommended that Domain Controllers should only run the services required to provide Active Directory Services and DNS.  Basically a DC is a 1 trick pony.

I myself would never recommend installing SQL, or a database engine of any type, on a server after promoting it to be a DC.

With respect to SQL 2014... SQL Server can be (is a) beast.  It can easily overwhelm a server even if that server is a dedicated SQL box.  SQL is a memory hog which likes to thrash HDDs.

If you were to install SQL 2014 on a DC and SQL was incorrectly configured, you could:

1. starve other installed services of RAM
2. take your AD services offline
3. cause authentication to severely lag

Since there will probably be applications that utilize SQL 2014, if there is a problem in an application, it could then also affect AD.  SQL on a DC makes an Admin's life way too complicated.  It's best to following MS recommendation that SQL should not be installed on a DC.

Unfortunately, you're going to need an additional server to run SQL.  Or you could risk taking a large part of your infrastructure offline if there is a significant issue with SQL when its running on the DC.

Dan
Vitor MontalvãoIT Engineer
Distinguished Expert 2017

Commented:
You should NEVER, NEVER install any application in a DC. Apart from the security reasons imagine that when you need to install a SQL Server service pack or any other hotfix you may need to reboot the machine. So you'll lose the domain controller during that period. Can you afford that?

Also, if you have a DC means that you have a network. If you have a network means that you have more machines. If you have more machines why did you chose right the DC to install the SQL Server?

If you cannot afford a new machine (not even a VM?), then think on installing the SQL Server in the same machine as the software that is requesting a database.

Author

Commented:
Great feedback from all . Our current setup with Windows Small Business Server 2011 on the DC , accessible by 8 workstations which predominantly use SQL server driven software for the databases that reside on the DC, is clearly wrong. We already have a spare computer with exactly the same spec as the DC, so it is not a matter of cost. That computer could be used for all of the applications currently on the SBS 2011 DC. Which of Microsoft's operating systems is recommended for what will become the SQL server?

Victor - I do not fully understand what you are saying as regards   'why did you chose right the DC to install the SQL Server?'