Last week, I published a blog on Installing SQL Server Denali CTP3 on Server Core and then SQL Server 2012 RC0 was made available for download so I thought I’d write an updated blog since the issues I ran into with the installation seem to be resolved.
One of the new features in SQL Server 2012 is official support from Microsoft for installation on Server Core. There’s an MSDN article on Install SQL Server 2012 on Server Core and another MSDN article on Install SQL Server 2012 from the Command Prompt that has a detailed list of all the different parameters. There’s also some good information about the installation on server core in the release notes.
If you just run setup from the command prompt, you’ll end up with this message, although this is to be expected since there are some required parameters which must be specified at the command line or in a configuration file.
One of the interesting new parameters as referenced in the image above is the /UIMODE=EnableUIOnServerCore option which launches the full blown installation GUI. I was unable to do the install through it so this functionality doesn’t seem to be complete.
Based on the first article, the setup routine should enable and/or install all of the necessary prerequisites and with RC0 it does indeed do that (unlike Denali CTP3).
Setup.exe /qs /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="mikefrobbins\sqlSvcAcct" /SQLSVCPASSWORD="password" /AGTSVCACCOUNT="mikefrobbins\sqlAgentAcct" /AGTSVCPASSWORD="password" /AGTSVCSTARTUPTYPE="Automatic" /SQLSYSADMINACCOUNTS="mikefrobbins\administrator" /IACCEPTSQLSERVERLICENSETERMS
The installation proceeds without any problems in the RC0 version:
The GUI portion of setup will begin, although it is unattended.
When the installation completes, you’ll be back at the command prompt:
Add a firewall exception for SQL Server. Since there’s no GUI for this on server core, you’ll need to use the netsh command:
netsh advfirewall firewall add rule name="SQL Server Windows NT - 64 Bit" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" enable=yes profile=domain
With RC0 TCP/IP is enabled by default so there’s no need to manually enable it:
You should now be able to use SQL Server Management Studio on a remote machine to access this SQL Server. If the connection fails, you can test connectivity from the remote machine by telneting to port 1433 on the sql server.