Tech blog series: SQL Server 2012 on Windows Server Core

Jon Cowling 08-Feb-2016 11:57:04

Tech blog series: SQL Server 2012 on Windows Server Core

Here's another blog from one of our Microsoft SQL Server consultants...

Core as a software stack rocks. There are so many advantages over conventional installations, it's hard to think why you'd go back to the 'old-fashioned' way. Especially since SQL Server 2012 is now supported.

Security is tighter by way of less vulnerabilities and a GUI: tick.

Less GUI means less software, means less hotfixes: tick.

Less patching = less downtime and reduced patch cycles: tick.

Overall, less administration: tick, tick, tick, tickity-tick.

Ah... Well ... Certainly less pointing and clicking!

And best of all (!), only in a client project meeting last week, Core really caught the attention of all our beloved Oracle contemporaries. It seems strange that this would finally be something that made them think SQL Server can compete with Oracle in the market place, but that's because it can, and in so many ways.

So what's the deal ? Windows Server Core (Standard, Enterprise or Datacentre) only installs services and components that it needs - no GUI, so no Explorer, so no Start button, so no Start-menu, so no Event Viewer, so no Control Panel ... You get the idea. It is command-line driven, so it's lighter, it's quicker to install, and the reduced footprint ultimately reduces cost. That said, not all vendors have products that will install but this will change over time and as mentioned, the good news is SQL Server 2012 is now supported.

Those of us from the good old days of DOS and menu driven interfaces will feel at home; type SCONFIG at a Core command prompt, it's exactly that (Server Configuration menu in this case) and most of us will want to start driving with PowerShell and our own scripts. Install SQL Server with your command line switches, preferably with a config file and you're away - no more progress indicators and Microsoft minutes is a welcomed relief.

To open your SQL Server PowerShell Component, just type: Sqlps

Open a connection with Set-Location CmdLet:

Set-Location SQLSERVER:\SQL\<servername>\<instancename>

Then run "Invoke-SQLCmd" at the prompt (CmdLet for SQL Server) to set remote access in the normal way with sp_configure:

exec sp_configure 'remote access',1 reconfigure with override;

This will allow you to access SQL Server with SSMS as normal.