Install SQL Server on Server Core

You can install SQL Server on a Server Core installation. This topic provides setup-specific details for installing SQL Server 2017 on Server Core.

The Server Core installation option provides a minimal environment for running specific server roles. This helps to reduce maintenance and management requirements and the attack surface for those server roles. For more information on Server Core, see Install Server Core. For more information on Server Core as implemented on Windows Server 2012, see Server Core for Windows Server 2012 (http://msdn.microsoft.com/library/hh846323(VS.85).aspx).

For a list of currently supported operating systems, see Hardware and Software Requirements for Installing SQL Server.

Prerequisites

Requirement How to install
.NET Framework 4.6.1 For all editions of SQL Server 2017 except SQL Server Express, Setup requires the .NET Framework 4.6.1 Server Core Profile. SQL Server Setup will automatically install this if it is not already installed. Installation requires a reboot. You can install .NET Framework before you run setup to avoid a reboot.
Windows Installer 4.5 Shipped with Server Core installation.
Windows PowerShell Shipped with Server Core installation.
Java Runtime In order to use PolyBase, you need to install the appropriate Java Runtime. For more information, see PolyBase installation.

Supported Features

Use the following table to find which features are supported in SQL Server 2017 on a Server Core installation .

Feature Supported Additional Information
Database Engine Services Yes
SQL Server Replication Yes
Full Text Search Yes
Analysis Services Yes
R Services (In-Database) Yes
Reporting Services No
SQL Server Data Tools (SSDT) No
Client Tools Connectivity Yes
Integration Services Server Yes For more information about the new Integration Services Server and its features in SQL Server 2017, see Integration Services (SSIS) Server.
Client Tools Backward Compatibility No
Client Tools SDK No
SQL Server Books Online No
Management Tools - Basic Remote Only Installation of these features on Server Core is not supported. These components can be installed on a different server that is not Server Core and connected to the Database Engine services installed on Server Core.
Management Tools – Complete Remote Only Installation of these features on Server Core is not supported. These components can be installed on a different server that is not Server Core and connected to the Database Engine services installed on Server Core.
Distributed Replay Controller No
Distributed Replay Client Remote Only Installation of these features on Server Core is not supported. These components can be installed on a different server that is not Server Core , and connected to the Database Engine services installed on Server Core.
SQL Client Connectivity SDK Yes
Microsoft Sync Framework Yes Microsoft Sync Framework is not included in the SQL Server 2017 installation package. You can download the appropriate version of Sync Framework from this Microsoft Download Center (http://go.microsoft.com/fwlink/?LinkId=221788) page and install it on a computer that is running Server Core.
Master Data Services No
Data Quality Services No

Supported scenarios

The following table shows the supported scenario matrix for installing SQL Server 2017 on a Server Core.

SQL Server editions All SQL Server 2017 64-bit editions*
SQL Server language All languages
SQL Server language on OS language/locale (combination) ENG SQL Server on JPN (Japanese) Windows

ENG SQL Server on GER (German) Windows

ENG SQL Server on CHS (Chinese-China) Windows

ENG SQL Server on ARA (Arabic (SA)) Windows

ENG SQL Server on THA (Thai) Windows

ENG SQL Server on TRK (Turkish) Windows

ENG SQL Server on pt-PT (Portuguese Portugal) Windows

ENG SQL Server on ENG (English) Windows
Windows edition Windows Server 2016 Datacenter

Windows Server 2016 Standard

Windows Server 2012 R2 Datacenter

Windows Server 2012 R2 Standard

Windows Server 2012 R2 Essentials

Windows Server 2012 R2 Foundation

Windows Server 2012 Datacenter

Windows Server 2012 Standard

Windows Server 2012 Essentials

Windows Server 2012 Foundation

Upgrade

On Server Core installations, upgrading from SQL Server 2014 to SQL Server 2016 is supported.

Install

SQL Server 2017 does not support setup by using the installation wizard on the Server Core operating system. When installing on Server Core, SQL Server Setup supports full quiet mode by using the /Q parameter, or Quiet Simple mode by using the /QS parameter. For more information, see Install SQL Server 2016 from the Command Prompt.

Important

SQL Server 2017 cannot be installed side-by-side with earlier versions of SQL Server on a computer that is running Windows Server 2008 R2 Server Core SP1 or Windows Server 2012 Server Core.

Regardless of the installation method, you are required to confirm acceptance of the software license terms as an individual or on behalf of an entity, unless your use of the software is governed by a separate agreement such as a Microsoft volume licensing agreement or a third-party agreement with an ISV or OEM.

The license terms are displayed for review and acceptance in the Setup user interface. Unattended installations (using the /Q or /QS parameters) must include the /IACCEPTSQLSERVERLICENSETERMS parameter. You can review the license terms separately at Microsoft Software License Terms.

Note

Depending on how you received the software (for example, through Microsoft volume licensing), your use of the software may be subject to additional terms and conditions.

To install specific features, use the /FEATURES parameter and specify the parent feature or feature values. For more information about feature parameters and their use, see the following sections.

Feature parameters

Feature parameter Description
SQLENGINE Installs only the Database Engine.
REPLICATION Installs the Replication component along with Database Engine.
FULLTEXT Installs the FullText component along with Database Engine.
AS Installs all Analysis Services components.
IS Installs all Integration Services components.
CONN Installs the connectivity components.
ADVANCEDANALYTICS Installs R Services, requires the database engine. Unattended installations require /IACCEPTROPENLICENSETERMS parameter.

See the following examples of the usage of feature parameters:

Parameter and values Description
/FEATURES=SQLEngine Installs only the Database Engine.
/FEATURES=SQLEngine,FullText Installs the Database Engine and full-text.
/FEATURES=SQLEngine,Conn Installs the Database Engine and the connectivity components.
/FEATURES=SQLEngine,AS,IS,Conn Installs the Database Engine, Analysis Services, Integration Services, and the connectivity components.
/FEATURES=SQLENGINE,ADVANCEDANALYTICS /IACCEPTROPENLICENSETERMS Installs the Database Engine and R Services (In-Database).

Installation options

The Setup supports the following installation options while installing SQL Server 2017 on a Server Core operating system:

  1. Installation from Command Line

    To install specific features using the command prompt installation option, use the /FEATURES parameter and specify the parent feature or feature values. The following is an example of using the parameters from the command line:

    Setup.exe /qs /ACTION=Install /FEATURES=SQLEngine,Replication /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /TCPENABLED=1 /IACCEPTSQLSERVERLICENSETERMS  
    
  2. Installation using Configuration File

    Setup supports the use of the configuration file only through the command prompt. The configuration file is a text file with the basic structure of a parameter (name/value pair) and a descriptive comment. The configuration file specified at the command prompt should have an .INI file name extension. See the following examples of ConfigurationFile.INI:

    • Installing Database Engine.

    The following example shows how to install a new stand-alone instance that includes SQL Server Database Engine:

    ```  
    ; SQL Server Configuration File  
    [OPTIONS]  
    
    ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.   
    
    ACTION="Install"  
    
    ; Specifies features to install, uninstall, or upgrade. The lists of features include SQLEngine, FullText, Replication, AS, IS, and Conn.   
    
    FEATURES=SQLENGINE  
    
    ; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the ssNoVersion Database Engine, and Analysis Services (AS).  
    
    INSTANCENAME="MSSQLSERVER"  
    
    ; Specify the Instance ID for the ssNoVersion features you have specified. ssNoVersion directory structure, registry structure, and service names will incorporate the instance ID of the ssNoVersion instance.   
    
    INSTANCEID="MSSQLSERVER"  
    
    ; Account for ssNoVersion service: Domain\User or system account.   
    
    SQLSVCACCOUNT="NT Service\MSSQLSERVER"  
    
    ; Windows account(s) to provision as ssNoVersion system administrators.   
    
    SQLSYSADMINACCOUNTS="\<DomainName\UserName>"  
    
    ; Accept the License agreement to continue with Installation  
    
    IAcceptSQLServerLicenseTerms="True"  
    
    ```  
    
    • Installing connectivity components. The following example shows how to install the connectivity components:

      ; SQL Server Configuration File  
      [OPTIONS]  
      
      ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.   
      
      ACTION="Install"  
      
      ; Specifies features to install, uninstall, or upgrade. The lists of features include SQLEngine, FullText, Replication, AS, IS, and Conn.   
      
      FEATURES=Conn  
      
      ; Specifies acceptance of License Terms  
      
      IAcceptSQLServerLicenseTerms="True  
      
    • Installing all supported features

      The following example shows how to install all supported features of SQL Server 2017 on Server Core:

      ; SQL Server Configuration File  
      [OPTIONS]  
      ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.   
      
      ACTION="Install"  
      
      ; Specifies features to install, uninstall, or upgrade. The lists of features include SQLEngine, FullText, Replication, AS, IS, and Conn.   
      
      FEATURES=SQLENGINE,FullText,Replication,AS,IS,Conn  
      
      ; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the ssNoVersion Database Engine (SQL), or Analysis Services (AS).  
      
      INSTANCENAME="MSSQLSERVER"  
      
      ; Specify the Instance ID for the ssNoVersion features you have specified. ssNoVersion directory structure, registry structure, and service names will incorporate the instance ID of the ssNoVersion instance.   
      
      INSTANCEID="MSSQLSERVER"  
      
      ; Account for ssNoVersion service: Domain\User or system account.   
      
      SQLSVCACCOUNT="NT Service\MSSQLSERVER"  
      
      ; Windows account(s) to provision as ssNoVersion system administrators.   
      
      SQLSYSADMINACCOUNTS="\<DomainName\UserName>"  
      
      ; The name of the account that the Analysis Services service runs under.   
      
      ASSVCACCOUNT= "NT Service\MSSQLServerOLAPService"  
      
      ; Specifies the list of administrator accounts that need to be provisioned.   
      
      ASSYSADMINACCOUNTS="\<DomainName\UserName>"  
      
      ; Specifies the server mode of the Analysis Services instance. Valid values are MULTIDIMENSIONAL, POWERPIVOT or TABULAR. ASSERVERMODE is case-sensitive. All values must be expressed in upper case.   
      
      ASSERVERMODE="MULTIDIMENSIONAL"  
      
      ; Optional value, which specifies the state of the TCP protocol for the ssNoVersion service. Supported values are: 0 to disable the TCP protocol, and 1 to enable the TCP protocol.  
      
      TCPENABLED=1  
      
      ;Specifies acceptance of License Terms  
      
      IAcceptSQLServerLicenseTerms="True"  
      

      The following shows how you can launch Setup using a custom or default configuration file:

    • Launch setup using a custom configuration file:

      To specify the configuration file at the command prompt:

      Setup.exe /QS /ConfigurationFile=MyConfigurationFile.INI  
      

      To specify passwords at the command prompt instead of in the configuration file:

      Setup.exe /QS /SQLSVCPASSWORD="************" /ASSVCPASSWORD="************"  /ConfigurationFile=MyConfigurationFile.INI  
      
    • Launch setup using DefaultSetup.ini:

      If you have the DefaultSetup.ini file in the \x86 and \x64 folders at the root level of the SQL Server source media, open the DefaultSetup.ini file, and then add the Features parameter to the file.

      If the DefaultSetup.ini file does not exist, you can create it and copy it to the \x86 and \x64 folders at the root level of the SQL Server source media.

Configure remote access of SQL Server on Server Core

Perform the actions described below to configure remote access of a SQL Server 2017 instance that is running on a Server Core installation of Windows Server 2008 R2 SP1 or Windows Server 2012.

Enable remote connections on the instance of SQL Server

To enable remote connections, use SQLCMD.exe locally and execute the following statements against the Server Core instance:

EXEC sys.sp_configure N'remote access', N'1'  
GO
RECONFIGURE WITH OVERRIDE
GO

Enable and start the SQL Server browser service

By default, the Browser service is disabled. If it is disabled on an instance of SQL Server running on Server Core, run the following command from the command prompt to enable it:

sc config SQLBROWSER start= auto

After it is enabled, run the following command from the command prompt to start the service:

net start SQLBROWSER

Create exceptions in Windows Firewall

To create exceptions for SQL Server access in Windows Firewall, follow the steps specified in Configure the Windows Firewall to Allow SQL Server Access.

Enable TCP/IP on the instance of SQL Server

The TCP/IP protocol can be enabled through Windows PowerShell for an instance of SQL Server on Server Core. Follow these steps:

  1. On the computer that is running Windows Server 2008 R2 Server Core SP1 or Windows Server 2012 Server Core, launch Task Manager.

  2. On the Applications tab, click New Task.

  3. In the Create New Task dialog box, type sqlps.exe in the Open field and then click OK. This opens the Microsoft SQL Server Powershell window.

  4. In the Microsoft SQL Server Powershell window, run the following script to enable the TCP/IP protocol:

$smo = 'Microsoft.SqlServer.Management.Smo.'  
$wmi = new-object ($smo + 'Wmi.ManagedComputer')  
# Enable the TCP protocol on the default instance.  If the instance is named, replace MSSQLSERVER with the instance name in the following line.  
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"  
$Tcp = $wmi.GetSmoObject($uri)  
$Tcp.IsEnabled = $true  
$Tcp.Alter()  
$Tcp  

Uninstall

After you log on to a computer that is running Server Core, you have a limited desktop environment with an Administrator command prompt. You can use this command prompt to launch the uninstall an of SQL Server 2017. To uninstall an instance of SQL Server 2017, launch the uninstallation from the command prompt in full quiet mode by using the /Q parameter, or quiet simple mode by using the /QS parameter. The /QS parameter shows progress through the UI, but does not accept any input. /Q runs in a quiet mode without any user interface.

To uninstall an existing instance of SQL Server:

Setup.exe /Q /Action=Uninstall /FEATURES=SQLEngine,AS,IS /INSTANCENAME=MSSQLSERVER  

To remove a named instance, specify the name of the instance instead of MSSQLSERVER in the preceding example.

Start a new command prompt

If you accidentally close the command prompt, you can start a new command prompt by following these steps:

  1. Press Ctrl+Shift+Esc to display Task Manager.
  2. On the Applications tab, click New Task.
  3. In the Create New Task dialog box, type cmd in the Open field and then Click OK..

See also

Install SQL Server 2016 Using a Configuration File
Install SQL Server 2016 from the Command Prompt
Features Supported by the Editions of SQL Server 2016
Install Server Core
Configure a Server Core installation of Windows Server 2016 with Sconfig.cmd
Failover Cluster Cmdlets in Windows PowerShell