Install SQL Server on Server Core
Applies to: SQL Server - Windows only
You can install SQL Server on a Server Core installation.
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 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 except SQL Server Express, Setup requires the .NET Framework 4.6.1 Server Core Profile. SQL Server Setup will automatically install this if it's not already installed. Installation requires a restart. You can install .NET Framework before you run setup to avoid a restart. |
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 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 | |
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 isn't supported. These components can be installed on a different server that isn't 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 isn't supported. These components can be installed on a different server that isn't 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 isn't supported. These components can be installed on a different server that isn't 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 isn't included in the SQL Server installation package. You can download the appropriate version of Sync Framework from this Microsoft Download Center 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 on a Server Core.
Installation | Valid target |
---|---|
SQL Server editions | All SQL Server 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 2022 Datacenter Windows Server 2022 Datacenter: Azure edition Windows Server 2022 Standard Windows Server 2019 Datacenter Windows Server 2019 Standard Windows Server 2016 Datacenter Windows Server 2016 Standard |
Upgrade
On Server Core installations, upgrading from SQL Server 2014 (12.x) to SQL Server 2016 (13.x) is supported.
Install
SQL Server doesn't 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 from the Command Prompt.
Regardless of the installation method, you're 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.
Beginning with SQL Server 2022 (16.x), read the Microsoft SQL Server Software License Terms at aka.ms/useterms.
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). |
For a list of features supported by the editions of SQL Server on Windows, see:
- Editions and supported features of SQL Server 2022
- Editions and supported features of SQL Server 2019
- Editions and supported features of SQL Server 2017
- Editions and supported features of SQL Server 2016
Installation options
The Setup supports the following installation options while installing SQL Server on a Server Core operating system:
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
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 ofConfigurationFile.ini
:Installing Database Engine:
The following example shows how to install a new stand-alone instance that includes the 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 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 example 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 theDefaultSetup.ini
file, and then add the Features parameter to the file.If the
DefaultSetup.ini
file doesn't 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 instance that is running on Server Core.
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's disabled on an instance of SQL Server running on Server Core, run the following command from the command prompt to enable it:
Set-Service sqlbrowser -StartupType Auto
After it's enabled, run the following command from the command prompt to start the service:
Start-Service 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:
In PowerShell:
Import-Module SQLPS
.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 sign into 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. To uninstall an instance of SQL Server, 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 doesn't 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:
- Press Ctrl+Shift+Esc to display Task Manager.
- On the Applications tab, select New Task.
- In the Create New Task dialog box, type cmd in the Open field and then select OK.