The Hardware and Software Requirements for Installing SQL Server 2008 R2 from Microsoft clearly state that, "SQL Server 2008 R2 is not supported on Windows Server 2008 SP2 Server Core or Windows Server 2008 R2 Server Core installations."
To be clear, this post just covers the installation of the Database Engine Services. Perhaps if I get bored in the future, I'll try Analysis Services or Reporting Services. Reporting Services I'm pretty sure will be more complicated as it requires IIS.
So let's get started. To begin with you need to ensure the list of roles below are installed. If you're using Core Configurator (and I think you should be), some of these roles will already be installed. From the Core Configurator menu, select "Computer settings…" and then "Add or Remove Roles…"
- MicrosoftWindowsPowershell [is installed by Configurator]
- NetFx2-ServerCore [is installed by Configurator]
- NetFx2-ServerCore-WOW64
- NetFx3-ServerCore
- NetFx3-ServerCore-WOW64
- ServerCore-WOW64 [should be installed by default]
With all the prerequisites out of the way, the SQL install is pretty straight forward. You can actually run the setup program from the CD – no need to do a command line install. There is one issue to be aware of - all of the dialog boxes where you would normally browse to select a folder... they don't work. Instead you'll have to just manually type the path you want to use.
After the installation is finished, the last step is to add a new rule to the firewall to allow communication to the SQL engine. Easiest way to do this, and validate that it was done correctly, is to use Server Manager or MMC with the Windows Firewall snap-in from another machine.
- Connect to your SQL server
- Expand Windows Firewall with Advanced Security (under Configuration in Server Manager)
- Select Inbound Rules
- Click New Rule...
- Select Port, Next
- Enter Specific local ports: 1433, Next
- Next
- Uncheck Private and Public (but really it's up to you), Next
- Enter Name: SQL Server Engine, Finish
Additional port information can be found in this Technet article. I'm not going to run through and test all the different installation options on Server Core, but should you deviate from defaults, that article should help you identify what other ports need to be opened.