Blog

It’s been awhile, so I figured I’d write a more technically-focused post. I’m putting together my TechEd session for Orlando (DBI313: Deploying SQL Server 2012 Using Windows Server Core) which is on Monday, June 11th at 1:15 PM. I’m hoping to show some Windows Server 2012 stuff, and in testing, I did find something interesting which may trip some of you up.

As I hope you already know, with Windows Server 2008 R2, you can configure Windows in one of two ways: with the full-blown user interface or in a Server Core configuration which just gives you a command prompt when logged in. Unlike Windows Server 2008 R2, Windows Server 2012 allows you to switch between Core and full GUI, and even adds what I call a “halfway house” known as MinShell. MinShell allows some GUIs to run – namely MMC snap-ins.

There is one caveat that isn’t well documented. While you can switch between Core and Full, how you started will determine the initial step. If you installed the full GUI, switched to Core, and then want to change back – no problem. If you first install Server Core and then decide to go with a GUI, the payload that has the interface is not installed by default (much like .NET 3.51, as I blogged about here). First, you’ll see the error as shown in Figure 1.

Figure 1. Error when trying to switch to the full UI

Shown in Figure 2, when you examine things with dism, you’ll see the payload isn’t there.

Figure 2. UI payload not enabled

Like .NET 3.51, you’ll have to install the payload as part of the enabling of the UI as shown in Figure 3.

Figure 3. Adding the package

You’re not done just yet. You also have to enable the feature Server-Gui-Shell (either with dism or using PowerShell [Add-WindowsFeature featurename]). An example is shown in Figure 4.

Figure 4. Adding the GUI shell feature

Once you reboot, you will see the full Windows Server 2012 GUI. You may see some instructions that also tell you to enable Server-Gui-Mgmt–Infra, but as you can see in Figure 5 which was done in testing this blog post, it’s enabled when you add Server-Gui-Shell.

9 Responses

Right now it’s honestly too soon to tell so I’m not making any hard recommendations at this point. Why? At the end of the day, MS – and specifically SQL – is probably only going to support this in a certain way. I can speculate but I can honestly say I have no idea if they’re even going to support going back and forth. Have I tried it and does it work? Yes. Supported? Who knows.

I use your post to repair a installation that I canceled in the middle and the server went up only in server core. with your post all went up for GUI and all is functioning (on a virtual machine)
I apreciate too much all your info here