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 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.
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 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 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:
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 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:
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.
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.