Yesterday was day 1 of the SQL PASS conference in Charlotte, North Carolina, USA. I attended a full day session on Always On Availability Groups and here are some findings from that session.
As you might already know, from SQL Server 2012, Windows Server Core edition is a supported operating system. Core edition of Windows Server has been available since Windows Server 2008 R2 but because of complexities around the .net framework, it hasn’t been until the release of SQL Server 2012 that you could actually install SQL on core edition. There are a lot of benefits to using this OS and SQL server is ideally suited to running on Server Core. This is mainly because as a DBA, we always work remotely i.e. Don’t have to log onto the server as part of our daily job. The other big reasons are the lighter footprint and the 60% reduction in patching. The reduction in patching is a big deal for me as a DBA because patches require reboots and as almost every application has a database back end, we want the highest uptime possible from our database servers.
It is possible to install SQL Server on Core edition and still have the full SQL installation UI. There is a switch that is called as part of setup and that is /UIMODE=EnableUIOnServerCore. The only caveat to this that none of the hyperlinks in the UI will work.
Server Core has three operating modes… Core with no UI, Minimal mode and Full UI. Server Core is quite flexible in that you can transition between core, minimal mode and full UI and back again. There are other complexities around this that I won’t detail here but suffice to say that running wsus in your environment causes some problems that related to patch versions and the ability to add and remove features. It is safest to build your server with the full UI and wind it back.
The big gotcha with running SQL Server on Server Core is that, while you can wind Server Core back up to a full UI, with SQL Server this is a one way operation. You cannot wind back from a full UI – it is not supported by Microsoft. Therefore, given I’ve said the safest method to build a Server Core system is full UI, I recommend that you wind it down to minimal mode to install SQL Server and then wind back to Core edition. If for some reason you have wound from Core to full UI with SQL server installed then your only option from this point on is to uninstall SQL Server, wind back to minimal mode or Core and then reinstall SQL Server.