| title | Release notes for SQL Server 2017 on Linux | Microsoft Docs |
|---|---|
| description | This topic contains the release notes and supported features for SQL Server 2017 running on Linux. Release notes are included for CTP 2.1 and prior versions. |
| author | rothja |
| ms.author | jroth |
| manager | jhubbard |
| ms.date | 07/17/2017 |
| ms.topic | article |
| ms.prod | sql-linux |
| ms.technology | database-engine |
| ms.assetid | 1314744f-fcaf-46db-800e-2918fa7e1b6c |
The following release notes apply to SQL Server 2017 running on Linux. This release supports many of the SQL Server database engine features for Linux. The topic below is broken into sections for each release, beginning with the most recent release, RC1. See the information in each section for supported platforms, tools, features, and known issues.
The following table lists the releases of SQL Server 2017 covered in this topic.
| Release | Version | Release date |
|---|---|---|
| RC1 | 00.0.000.000 | 7-2017 |
| CTP 2.1 | 14.0.600.250 | 5-2017 |
| CTP 2.0 | 14.0.500.272 | 4-2017 |
| CTP 1.4 | 14.0.405.198 | 3-2017 |
| CTP 1.3 | 14.0.304.138 | 2-2017 |
| CTP 1.2 | 14.0.200.24 | 1-2017 |
| CTP 1.1 | 14.0.100.187 | 12-2016 |
| CTP 1.0 | 14.0.1.246 | 11-2016 |
The SQL Server engine version for this release is 00.0.000.000.
| Platform | File System | Installation Guide |
|---|---|---|
| Red Hat Enterprise Linux 7.3 Workstation, Server, and Desktop | XFS or EXT4 | Installation guide |
| SUSE Enterprise Linux Server v12 SP2 | EXT4 | Installation guide |
| Ubuntu 16.04LTS | EXT4 | Installation guide |
| Docker Engine 1.8+ on Windows, Mac, or Linux | N/A | Installation guide |
Note
You need at least 3.25GB of memory to run SQL Server on Linux. SQL Server Engine has been tested up to 1 TB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the following installation guides:
| Package | Package version | Downloads |
|---|---|---|
| Red Hat RPM package | 00.0.000.000-0 | Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| SLES RPM package | 00.0.000.000-0 | mssql-server Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| Ubuntu 16.04 Debian package | 00.0.000.000-0 | Engine Debian package High Availability Debian package Full-text Search Debian package SQL Server Agent Debian package |
| Tool | Minimum version |
|---|---|
| SQL Server Management Studio (SSMS) for Windows | 17.0 |
| SQL Server Data Tools for Visual Studio | 17.0 |
| Visual Studio Code with the mssql extension | Latest (1.12) |
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
| Area | Unsupported feature or service |
|---|---|
| Database engine | Transactional replication |
| Merge replication | |
| Stretch DB | |
| Polybase | |
| Distributed Query | |
| System extended stored procedures (XP_CMDSHELL, etc.) | |
| Filetable | |
| CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set | |
| SQL Server Agent | Subsystems: CmdExec, PowerShell, Queue Reader , SSIS, SSAS, SSRS |
| Alerts | |
| Log Reader Agent | |
| Change Data Capture | |
| Managed Backup | |
| High Availability | Database mirroring |
| Security | Active Directory Authentication |
| Windows Authentication | |
| Extensible Key Management | |
| Use of user-provided certificate for SSL or TLS | |
| Services | SQL Server Browser |
| SQL Server R services | |
| StreamInsight | |
| Analysis Services | |
| Reporting Services | |
| Data Quality Services | |
| Master Data Services |
The following sections describe known issues with this release of SQL Server 2017 CTP 2.1 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
The default language of the sa login is English.
- Resolution: Change the language of the sa login with the ALTER LOGIN statement.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
In RC1 the cluster resource agent sets the virtual server name like it does in a Failover Cluster Instance on Windows. Prior to RC1 @@servername on a shared disk cluster returned the specific node name so after failover @@servername returned a different value. In RC1 the serverName of the shared disk cluster instance is updated with the resource name when the resource is added to the cluster. Because of this, the cluster will have to restart the SQL Server after the manual failover during the upgrade - as in the following steps:
- Upgrade secondary (passive) cluster node first.
- Upgrade mssql-server package.
- Upgrade mssql-server-ha package.
- Manually fail over to the upgraded node.
pcs resource move <resourceName>- Resource fails initially because the resource agent checks the actual and expected serverName. The expected serverName will be different.
- Cluster will restart SQL Server resource on the same node. This will update the server name.
- Upgrade the other node.
- Upgrade mssql-server package.
- Upgrade mssql-server-ha package.
- Remove the constraint added by the manual resource move. See Failover cluster manually.
- If desired, fail back to the original primary node.
- Not all filters are available with this release, including filters for Office documents. For a list of supported filters, see Install SQL Server Full-Text Search on Linux.
You can run SSIS packages on Linux. For more info, see the blog post announcing SSIS support for Linux. Please note the following known issues with this release.
-
The mssql-server-is package is only supported on Ubuntu at this time.
-
The following features are not supported when running SSIS packages on Linux:
- SSIS Catalog DB
- Schedule Packages execution by SQL Agent
- Windows Authentication
- Third-party components
- Third-party ODBC drivers
- ODBC Connection Manager, Source, and Destination (supported with SSIS on Linux CTP 2.1 Refresh)
- Change Data Capture (CDC)
- Scale Out
- Azure Feature Pack
- Hadoop and HDFS Support
- Microsoft Connector for SAP BW
With SSIS on Linux CTP 2.1 Refresh, your SSIS packages can use ODBC connections on Linux. For more info, see the blog post announcing ODBC support on Linux.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS are not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
Number of log files to retain cannot be modified.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
The SQL Server engine version for this release is 14.0.600.250.
| Platform | File System | Installation Guide |
|---|---|---|
| Red Hat Enterprise Linux 7.3 Workstation, Server, and Desktop | XFS or EXT4 | Installation guide |
| SUSE Enterprise Linux Server v12 SP2 | EXT4 | Installation guide |
| Ubuntu 16.04LTS | EXT4 | Installation guide |
| Docker Engine 1.8+ on Windows, Mac, or Linux | N/A | Installation guide |
Note
You need at least 3.25GB of memory to run SQL Server on Linux. SQL Server Engine has been tested up to 1 TB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the following installation guides:
| Package | Package version | Downloads |
|---|---|---|
| Red Hat RPM package | 14.0.600.250-2 | Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| SLES RPM package | 14.0.600.250-2 | mssql-server Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| Ubuntu 16.04 Debian package | 14.0.600.250-2 | Engine Debian package High Availability Debian package Full-text Search Debian package SQL Server Agent Debian package |
| Tool | Minimum version |
|---|---|
| SQL Server Management Studio (SSMS) for Windows | 17.0 |
| SQL Server Data Tools for Visual Studio | 17.0 |
| Visual Studio Code with the mssql extension | Latest (1.12) |
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
| Area | Unsupported feature or service |
|---|---|
| Database engine | Replication |
| Stretch DB | |
| Polybase | |
| Distributed Query | |
| System extended stored procedures (XP_CMDSHELL, etc.) | |
| Filetable | |
| CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set | |
| High Availability | Database mirroring |
| Security | Active Directory Authentication |
| Windows Authentication | |
| Extensible Key Management | |
| Use of user-provided certificate for SSL or TLS | |
| Services | SQL Server Browser |
| SQL Server R services | |
| StreamInsight | |
| Analysis Services | |
| Reporting Services | |
| Data Quality Services | |
| Master Data Services |
The following sections describe known issues with this release of SQL Server 2017 CTP 2.1 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
The default language of the sa login is English.
- Resolution: Change the language of the sa login with the ALTER LOGIN statement.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
sys.fn_hadr_backup_is_preffered_replicadoes not work forCLUSTER_TYPE=NONEorCLUSTER_TYPE=EXTERNALbecause it relies on the WSFC-replicated cluster registry key which not available. We are working on providing a similar functionality through a different function.
- Not all filters are available with this release, including filters for Office documents. For a list of supported filters, see Install SQL Server Full-Text Search on Linux.
-
The following components and subsystems of SQL Agent jobs are not currently supported on Linux:
- Subsystems: CmdExec, PowerShell, Replication Distributor, Snapshot, Merge, Queue Reader, SSIS, SSAS, SSRS
- Alerts
- DB Mail
- Log Reader Agent
- Change Data Capture
-
Using SqlPackage requires specifying an absolute path for files. Using relative paths will map the files under the "/tmp/sqlpackage.<code>/system/system32" folder.
- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
You can run SSIS packages on Linux. For more info, see the blog post announcing SSIS support for Linux. Please note the following known issues with this release.
-
The mssql-server-is package is only supported on Ubuntu at this time.
-
The following features are not supported when running SSIS packages on Linux:
- SSIS Catalog DB
- Schedule Packages execution by SQL Agent
- Windows Authentication
- Third-party components
- Third-party ODBC drivers
- ODBC Connection Manager, Source, and Destination (supported with SSIS on Linux CTP 2.1 Refresh)
- Change Data Capture (CDC)
- Scale Out
- Azure Feature Pack
- Hadoop and HDFS Support
- Microsoft Connector for SAP BW
With SSIS on Linux CTP 2.1 Refresh, your SSIS packages can use ODBC connections on Linux. For more info, see the blog post announcing ODBC support on Linux.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS are not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
Number of log files to retain cannot be modified.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
The SQL Server engine version for this release is 14.0.500.272.
| Platform | File System | Installation Guide |
|---|---|---|
| Red Hat Enterprise Linux 7.3 Workstation, Server, and Desktop | XFS or EXT4 | Installation guide |
| SUSE Enterprise Linux Server v12 SP2 | EXT4 | Installation guide |
| Ubuntu 16.04LTS and 16.10 | EXT4 | Installation guide |
| Docker Engine 1.8+ on Windows, Mac, or Linux | N/A | Installation guide |
Note
You need at least 3.25GB of memory to run SQL Server on Linux. SQL Server Engine has been tested up to 1 TB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the following installation guides:
| Package | Package version | Downloads |
|---|---|---|
| Red Hat RPM package | 14.0.500.272-2 | Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| SLES RPM package | 14.0.500.272-2 | mssql-server Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| Ubuntu 16.04 Debian package | 14.0.500.272-2 | Engine Debian package High Availability Debian package Full-text Search Debian package SQL Server Agent Debian package |
| Ubuntu 16.10 Debian package | 14.0.500.272-2 | Engine Debian package High Availability Debian package Full-text Search Debian package SQL Server Agent Debian package |
| Tool | Minimum version |
|---|---|
| SQL Server Management Studio (SSMS) for Windows - Release Candidate 2 | 17.0 |
| SQL Server Data Tools for Visual Studio - Release Candidate 2 | 17.0 |
| Visual Studio Code with the mssql extension | Latest (0.2.1) |
Note
The SQL Server Management Studio and SQL Server Data Tools versions specified above are Release Candidates, hence not recommended for use in production.
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
| Area | Unsupported feature or service |
|---|---|
| Database engine | Replication |
| Stretch DB | |
| Polybase | |
| Distributed Query | |
| System extended stored procedures (XP_CMDSHELL, etc.) | |
| Filetable | |
| CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set | |
| High Availability | Database mirroring |
| Security | Active Directory Authentication |
| Windows Authentication | |
| Extensible Key Management | |
| Use of user-provided certificate for SSL or TLS | |
| Services | SQL Server Browser |
| SQL Server R services | |
| StreamInsight | |
| Analysis Services | |
| Reporting Services | |
| Integration Services | |
| Data Quality Services | |
| Master Data Services |
The following sections describe known issues with this release of SQL Server 2017 CTP 2.0 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
The default language of the sa login is English.
- Resolution: Change the language of the sa login with the ALTER LOGIN statement.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
- All HA configurations - meaning availability group is added as a resource to a Pacemaker cluster - created with pre CTP2.0 packages are not backwards compatible with the new package. Delete all previousely configured clustered resources and create new availability groups with
CLUSTER_TYPE=EXTERNAL. See Configure Always On Availability Group for SQL Server on Linux. - Availability groups created with
CLUSTER_TYPE=NONEand not added as resources in the cluster will continue working after upgrade. Use for read-scale scenarios. See Configure read-scale availability group for SQL Server on Linux. sys.fn_hadr_backup_is_preffered_replicadoes not work forCLUSTER_TYPE=NONEorCLUSTER_TYPE=EXTERNALbecause it relies on the WSFC-replicated cluster registry key which not available. We are working on providing a similar functionality through a different function.
-
Not all filters are available with this release, including filters for Office documents. For a list of supported filters, see Install SQL Server Full-Text Search on Linux.
-
The Korean word breaker takes several seconds to load and generates an error on first use. After this initial error, it should work normally.
-
The following components and subsystems of SQL Agent jobs are not currently supported on Linux:
- Subsystems: CmdExec, PowerShell, Replication Distributor, Snapshot, Merge, Queue Reader, SSIS, SSAS, SSRS
- Alerts
- DB Mail
- Log Reader Agent
- Change Data Capture
-
Using SqlPackage requires specifying an absolute path for files. Using relative paths will map the files under the "/tmp/sqlpackage.<code>/system/system32" folder.
- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS are not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
Number of log files to retain cannot be modified.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
The SQL Server engine version for this release is 14.0.405.198.
| Platform | File System | Installation Guide |
|---|---|---|
| Red Hat Enterprise Linux 7.3 Workstation, Server, and Desktop | XFS or EXT4 | Installation guide |
| SUSE Enterprise Linux Server v12 SP2 | EXT4 | Installation guide |
| Ubuntu 16.04LTS and 16.10 | EXT4 | Installation guide |
| Docker Engine 1.8+ on Windows, Mac, or Linux | N/A | Installation guide |
Note
You need at least 3.25GB of memory to run SQL Server on Linux. SQL Server Engine has been tested up to 1 TB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the installation guides below
| Package | Package version | Downloads |
|---|---|---|
| Red Hat RPM package | 14.0.405.200-1 | Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| SLES RPM package | 14.0.405.200-1 | mssql-server Engine RPM package High Availability RPM package Full-text Search RPM package SQL Server Agent RPM package |
| Ubuntu 16.04 Debian package | 14.0.405.200-1 | Engine Debian package High Availability Debian package Full-text Search Debian package SQL Server Agent Debian package |
| Ubuntu 16.10 Debian package | 14.0.405.200-1 | Engine Debian package High Availability Debian package Full-text Search Debian package SQL Server Agent Debian package |
| Tool | Minimum version |
|---|---|
| SQL Server Management Studio (SSMS) for Windows - Release Candidate 2 | 17.0 |
| SQL Server Data Tools for Visual Studio - Release Candidate 2 | 17.0 |
| Visual Studio Code with the mssql extension | Latest (0.2.1) |
Note
The SQL Server Management Studio and SQL Server Data Tools versions specified above are Release Candidates, hence not recommended for use in production.
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
| Area | Unsupported feature or service |
|---|---|
| Database engine | Replication |
| Stretch DB | |
| Polybase | |
| Distributed Query | |
| System extended stored procedures (XP_CMDSHELL, etc.) | |
| Filetable | |
| CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set | |
| High Availability | Database mirroring |
| Security | Active Directory Authentication |
| Windows Authentication | |
| Extensible Key Management | |
| Use of user-provided certificate for SSL or TLS | |
| Services | SQL Server Browser |
| SQL Server R services | |
| StreamInsight | |
| Analysis Services | |
| Reporting Services | |
| Integration Services | |
| Data Quality Services | |
| Master Data Services |
The following sections describe known issues with this release of SQL Server 2017 CTP 1.4 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Do not run the command
ALTER SERVICE MASTER KEY REGENERATE. There is a known bug that will cause SQL Server to become unstable. If you need to regenerate the Service Master Key, you should back up your database files, uninstall and then re-install SQL Server, and then restore your database files again. -
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Some time zone names in Linux don’t map exactly to Windows time zone names.
- Resolution: Use time zone names from TZID column in the ‘Mapping for: Windows’ section table on the Unicode.org documentation page.
-
SQL Server Engine expects lines in text files to be terminated with CR-LF (Windows-style line formatting).
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
All log files and error logs are encoded in UTF-16.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
CREATE ASSEMBLY will not work when trying to use a file. Use the FROM <bits> method instead for now.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
-
Always On Availability Group clustered resources on Linux that were created with CTP 1.3 will fail after you upgrade HA package (mssql-server-ha).
-
Resolution: Before you upgrade the HA package, set the cluster resource parameter
notify=true.- The following example sets the cluster resource parameter on a resource named ag1 on RHEL or Ubuntu:
sudo pcs resource update ag1-master notify=true
- For SLES, update availability group resource configuration to add
notify=true.
crm configure edit ms-ag_cluster
Add
notify=trueand save the resource configuration.
-
-
Always On Availability Groups in Linux may be subject to data loss if replicas are in synchronous commit mode. See details as appropriate for your Linux distribution.
-
Not all filters are available with this release, including filters for Office documents. For a list of supported filters, see Install SQL Server Full-Text Search on Linux.
-
The Korean word breaker takes several seconds to load and generates an error on first use. After this initial error, it should work normally.
- The following components and subsystems of SQL Agent jobs are not currently supported on Linux:
- Subsystems: CmdExec, PowerShell, Replication Distributor, Snapshot, Merge, Queue Reader, SSIS, SSAS, SSRS
- Alerts
- DB Mail
- Log Shipping
- Log Reader Agent
- Change Data Capture
- In-Memory OLTP databases can only be created in the /var/opt/mssql directory. For more information, visit the In-memory OLTP Topic.
-
Using SqlPackage requires specifying an absolute path for files. Using relative paths will map the files under the "/tmp/sqlpackage.<code>/system/system32" folder.
- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS is not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
The file browser is restricted to the "C:\" scope, which resolves to /var/opt/mssql/ on Linux. To use other paths, generate scripts of the UI operation and replace the C:\ paths with Linux paths. Then execute the script manually in SSMS.
-
Number of log files to retain cannot be modified.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
The SQL Server engine version for this release is 14.0.304.138.
| Platform | File System | Installation Guide |
|---|---|---|
| Red Hat Enterprise Linux 7.3 Workstation, Server, and Desktop | XFS or EXT4 | Installation guide |
| SUSE Enterprise Linux Server v12 SP2 | EXT4 | Installation guide |
| Ubuntu 16.04LTS and 16.10 | EXT4 | Installation guide |
| Docker Engine 1.8+ on Windows, Mac, or Linux | N/A | Installation guide |
Note
You need at least 3.25GB of memory to run SQL Server on Linux. SQL Server Engine has been tested up to 1 TB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the installation guides.
| Package | Package version | Downloads |
|---|---|---|
| Red Hat RPM package | 14.0.304.138-1 | mssql-server Engine RPM package mssql-server-ha High Availability RPM package mssql-server-fts Full-text Search RPM package |
| SLES RPM package | 14.0.304.138-1 | mssql-server Engine RPM package mssql-server-ha High Availability RPM package mssql-server-fts Full-text Search RPM package |
| Ubuntu 16.04 Debian package | 14.0.304.138-1 | mssql-server Engine Debian package mssql-server-ha High Availability Debian package mssql-server-fts Full-text Search Debian package |
| Ubuntu 16.10 Debian package | 14.0.304.138-1 | mssql-server Engine Debian package mssql-server-ha High Availability Debian package mssql-server-fts Full-text Search Debian package |
| Tool | Minimum version |
|---|---|
| SQL Server Management Studio (SSMS) for Windows - Release Candidate 2 | 17.0 |
| SQL Server Data Tools for Visual Studio - Release Candidate 2 | 17.0 |
| Visual Studio Code with the mssql extension | Latest (0.2.1) |
Note
The SQL Server Management Studio and SQL Server Data Tools versions specified above are Release Candidates, hence not recommended for use in production.
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
| Area | Unsupported feature or service |
|---|---|
| Database engine | Replication |
| Stretch DB | |
| Polybase | |
| Distributed Query | |
| System extended stored procedures (XP_CMDSHELL, etc.) | |
| Filetable | |
| CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set | |
| High Availability | Database mirroring |
| Security | Active Directory Authentication |
| Windows Authentication | |
| Extensible Key Management | |
| Use of user-provided certificate for SSL or TLS | |
| Services | SQL Server Agent |
| SQL Server Browser | |
| SQL Server R services | |
| StreamInsight | |
| Analysis Services | |
| Reporting Services | |
| Integration Services | |
| Data Quality Services | |
| Master Data Services |
The following sections describe known issues with this release of SQL Server 2017 CTP 1.3 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Do not run the command
ALTER SERVICE MASTER KEY REGENERATE. There is a known bug that will cause SQL Server to become unstable. If you need to regenerate the Service Master Key, you should back up your database files, uninstall and then re-install SQL Server, and then restore your database files again. -
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Some time zone names in Linux don’t map exactly to Windows time zone names.
- Resolution: Use time zone names from TZID column in the ‘Mapping for: Windows’ section table on the Unicode.org documentation page.
-
SQL Server Engine expects lines in text files to be terminated with CR-LF (Windows-style line formatting).
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
All log files and error logs are encoded in UTF-16.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
CREATE ASSEMBLY will not work when trying to use a file. Use the FROM <bits> method instead for now.
-
Changing the locations of TempDB data and log files is not supported.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
-
Always On Availability Groups in Linux may be subject to data loss if replicas are in synchronous commit mode. See
-
Not all filters are available with this release, including filters for Office documents. For a list of supported filters, see Install SQL Server Full-Text Search on Linux.
-
The Korean word breaker takes several seconds to load and generates an error on first use. After this initial error, it should work normally.
- In-Memory OLTP databases can only be created in the /var/opt/mssql directory. For more information, visit the In-memory OLTP Topic.
-
Using SqlPackage requires specifying an absolute path for files. Using relative paths will map the files under the "/tmp/sqlpackage./
/system/system32" folder.- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
-
SQL Server Command Line tools (mssql-tools) and the ODBC Driver (msodbcsql) depends on a custom unixODBC Driver Manager. This causes conflicts if you have a previously installed unixODBC Driver Manager.
- Resolution: On Ubuntu, the conflict will be resolved automatically. When prompted if you would like to uninstall the existing unixODBC Driver Manager, type 'y' and proceed with the installation. On RedHat, you will have to remove the existing unixODBC Driver Manager manually using
yum remove unixODBC. We are working on fixing this limitation for RHEL and SUSE and should have an update for you soon.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS is not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
The SQL Server Agent is not supported yet. Therefore, SQL Server Agent functionality in SSMS does not work on Linux at the moment.
-
The file browser is restricted to the "C:\" scope, which resolves to /var/opt/mssql/ on Linux. To use other paths, generate scripts of the UI operation and replace the C:\ paths with Linux paths. Then execute the script manually in SSMS.
-
Number of log files to retain cannot be modified.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
The SQL Server engine version for this release is 14.0.200.24.
Platform
File System
Installation Guide
Red Hat Enterprise Linux 7.3 Workstation, Server, and Desktop
XFS or EXT4
Installation guide
SUSE Enterprise Linux Server v12 SP2
EXT4
Installation guide
Ubuntu 16.04LTS and 16.10
EXT4
Installation guide
Docker Engine 1.8+ on Windows, Mac, or Linux
N/A
Installation guide
Note
You need at least 3.25GB of memory to run SQL Server on Linux.
SQL Server Engine has only been tested up to 256GB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the installation guides.
Package
Package version
Downloads
RPM package
14.0.200.24-2
mssql-server 14.0.200.24-2 Engine RPM package
mssql-server 14.0.200.24-2 High Availability RPM package
Debian package
14.0.200.24-2
mssql-server 14.0.200.24-2 Engine Debian package
Tool
Minimum version
SQL Server Management Studio (SSMS) for Windows - Release Candidate 1
17.0
SQL Server Data Tools for Visual Studio - Release Candidate 1
17.0
Visual Studio Code with the mssql extension
Latest (0.2)
Note
The SQL Server Management Studio and SQL Server Data Tools versions specified above are Release Candidates, hence not recommended for use in production.
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
Area
Unsupported feature or service
Database engine
Full-text Search
Replication
Stretch DB
Polybase
Distributed Query
System extended stored procedures (XP_CMDSHELL, etc.)
Filetable
CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set
High Availability
Always On Availability Groups
Database mirroring
Security
Active Directory Authentication
Windows Authentication
Extensible Key Management
Use of user-provided certificate for SSL or TLS
Services
SQL Server Agent
SQL Server Browser
SQL Server R services
StreamInsight
Analysis Services
Reporting Services
Integration Services
Data Quality Services
Master Data Services
The following sections describe known issues with this release of SQL Server 2017 CTP 1.2 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Do not run the command ALTER SERVICE MASTER KEY REGENERATE. There is a known bug that will cause SQL Server to become unstable. If you need to regenerate the Service Master Key, you should back up your database files, uninstall and then re-install SQL Server, and then restore your database files again.
-
Resource name for SQL resource changed from ocf:sql:fci to ocf:mssql:fci. More details about configuring a shared disk failover cluster you can find here.
-
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Some time zone names in Linux don’t map exactly to Windows time zone names.
- Resolution: Use time zone names from TZID column in the ‘Mapping for: Windows’ section table on the Unicode.org documentation page.
-
SQL Server Engine expects lines in text files to be terminated with CR-LF (Windows-style line formatting).
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
All log files and error logs are encoded in UTF-16.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
CREATE ASSEMBLY will not work when trying to use a file. Use the FROM <bits> method instead for now.
-
Changing the locations of TempDB data and log files is not supported.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
- In-Memory OLTP databases can only be created in the /var/opt/mssql directory. These databases also need to have the "C:\" notation when referred. For more information, visit the In-memory OLTP Topic.
-
Using SqlPackage requires specifying an absolute path for files. Using relative paths will map the files under the “/tmp/sqlpackage.<code>/system/system32” folder.
- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
-
If you have an older version of SQL Server Command Line tools (mssql-tools) and the ODBC Driver (msodbcsql), you might have installed a custom unixODBC Driver Manager (unixODBC-utf16). This could casue a potential conflict as we no longer use a custom driver manager.
- Resolution: On Ubuntu and SLES, the conflict will be resolved automatically. When prompted if you would like to uninstall the existing unixODBC Driver Manager, type 'y' and proceed with the installation. On RedHat, you will have to remove the existing unixODBC Driver Manager manually using
yum remove unixODBC-utf16 unixODBC-utf16-devel and retry the install.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS is not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
The SQL Server Agent is not supported yet. Therefore, SQL Server Agent functionality in SSMS does not work on Linux at the moment.
-
The file browser is restricted to the "C:\" scope, which resolves to /var/opt/mssql/ on Linux. To use other paths, generate scripts of the UI operation and replace the C:\ paths with Linux paths. Then execute the script manually in SSMS.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
The SQL Server engine version for this release is 14.0.100.187.
Platform
File System
Installation Guide
Red Hat Enterprise Linux Workstation, Server, and Desktop
XFS or EXT4
Installation guide
Ubuntu 16.04LTS and 16.10
EXT4
Installation guide
Docker Engine 1.8+ on Windows, Mac, or Linux
N/A
Installation guide
Note
You need at least 3.25GB of memory to run SQL Server on Linux.
SQL Server Engine has only been tested up to 256GB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the installation guides.
Package
Package version
Downloads
RPM package
14.0.100.187-1
mssql-server 14.0.100.187-1 Engine RPM package
mssql-server 14.0.100.187-1 High Availability RPM package
Debian package
14.0.100.187-1
mssql-server 14.0.100.187-1 Engine Debian package
Tool
Minimum version
SQL Server Management Studio (SSMS) for Windows - Release Candidate 1
17.0
SQL Server Data Tools for Visual Studio - Release Candidate 1
17.0
Visual Studio Code with the mssql extension
Latest (0.2)
Note
The SQL Server Management Studio and SQL Server Data Tools versions specified above are Release Candidates, hence not recommended for use in production.
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
Area
Unsupported feature or service
Database engine
Full-text Search
Replication
Stretch DB
Polybase
Distributed Query
System extended stored procedures (XP_CMDSHELL, etc.)
Filetable
CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set
High Availability
Always On Availability Groups
Database mirroring
Security
Active Directory Authentication
Windows Authentication
Extensible Key Management
Use of user-provided certificate for SSL or TLS
Services
SQL Server Agent
SQL Server Browser
SQL Server R services
StreamInsight
Analysis Services
Reporting Services
Integration Services
Data Quality Services
Master Data Services
The following sections describe known issues with this release of SQL Server 2017 CTP 1.1 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Do not run the command ALTER SERVICE MASTER KEY REGENERATE. There is a known bug that will cause SQL Server to become unstable. If you need to regenerate the Service Master Key, you should back up your database files, uninstall and then re-install SQL Server, and then restore your database files again.
-
Resource name for SQL resource changed from ocf:sql:fci to ocf:mssql:fci. More details about configuring a shared disk failover cluster you can find here.
-
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Some time zone names in Linux don’t map exactly to Windows time zone names.
- Resolution: Use time zone names from TZID column in the ‘Mapping for: Windows’ section table on the Unicode.org documentation page.
-
SQL Server Engine expects lines in text files to be terminated with CR-LF (Windows-style line formatting).
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
All log files and error logs are encoded in UTF-16.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
CREATE ASSEMBLY will not work when trying to use a file. Use the FROM <bits> method instead for now.
-
Changing the locations of TempDB data and log files is not supported.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
- In-Memory OLTP databases can only be created in the /var/opt/mssql directory. These databases also need to have the "C:" notation when referred. For more information, visit the In-memory OLTP Topic.
-
Using SqlPackage requires specifying an absolute path for files. Using relative paths will map the files under the "/tmp/sqlpackage.<code>/system/system32" folder.
- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
-
SQL Server Command Line tools (mssql-tools) and the ODBC Driver (msodbcsql) depends on a custom unixODBC Driver Manager. This causes conflicts if you have a previously installed unixODBC Driver Manager.
- Resolution: On Ubuntu, the conflict will be resolved automatically. When prompted if you would like to uninstall the existing unixODBC Driver Manager, type 'y' and proceed with the installation. On RedHat, you will have to remove the existing unixODBC Driver Manager manually using
yum remove unixODBC. We are working on fixing this limitation for RHEL and SUSE and should have an update for you soon.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS is not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
The SQL Server Agent is not supported yet. Therefore, SQL Server Agent functionality in SSMS does not work on Linux at the moment.
-
The file browser is restricted to the "C:\" scope, which resolves to /var/opt/mssql/ on Linux. To use other paths, generate scripts of the UI operation and replace the C:\ paths with Linux paths. Then execute the script manually in SSMS.
v
The SQL Server engine version for this release is 14.0.1.246.
Platform
File System
Installation Guide
Red Hat Enterprise Linux 7.2 Workstation, Server, and Desktop
XFS or EXT4
Installation guide
Ubuntu 16.04LTS
EXT4
Installation guide
Docker Engine 1.8+ on Windows, Mac, or Linux
N/A
Installation guide
Note
You need at least 3.25GB of memory to run SQL Server on Linux.
SQL Server Engine has only been tested up to 256GB of memory at this time.
Package details and download locations for the RPM and Debian packages are listed in the following table. Note that you do not need to download these packages directly if you use the steps in the installation guides.
Package
Package version
Downloads
RPM package
14.0.1.246-6
mssql-server 14.0.1.246-6 Engine RPM package
mssql-server 14.0.1.246-6 High Availability RPM package
Debian package
14.0.1.246-6
mssql-server 14.0.1.246-6 Engine Debian package
Tool
Minimum version
SQL Server Management Studio (SSMS) for Windows - Release Candidate 1
17.0
SQL Server Data Tools for Visual Studio - Release Candidate 1
17.0
Visual Studio Code with the mssql extension
Latest (0.1.5)
Note
The SQL Server Management Studio and SQL Server Data Tools versions specified above are Release Candidates, hence not recommended for use in production.
The following features and services are not available on Linux at this time. The support of these features will be increasingly enabled during the monthly updates cadence of the preview program.
Area
Unsupported feature or service
Database engine
Full-text Search
Replication
Stretch DB
Polybase
Distributed Query
System extended stored procedures (XP_CMDSHELL, etc.)
Filetable
CLR assemblies with the EXTERNAL_ACCESS or UNSAFE permission set
High Availability
Always On Availability Groups
Database mirroring
Security
Active Directory authentication
Windows Authentication
Extensible Key Management
Use of user-provided certificate for SSL or TLS
Services
SQL Server Agent
SQL Server Browser
SQL Server R services
StreamInsight
Analysis Services
Reporting Services
Integration Services
Data Quality Services
Master Data Services
The following sections describe known issues with this release of SQL Server 2017 CTP1 on Linux.
-
The length of the hostname where SQL Server is installed needs to be 15 characters or less.
- Resolution: Change the name in /etc/hostname to something 15 characters long or less.
-
Manually setting the system time backwards in time will cause SQL Server to stop updating the internal system time within SQL Server.
- Resolution: Restart SQL Server.
-
Some time zone names in Linux don’t map exactly to Windows time zone names.
- Resolution: Use time zone names from TZID column in the ‘Mapping for: Windows’ section table on the Unicode.org documentation page.
-
SQL Server Engine expects lines in text files to be terminated with CR-LF (Windows-style line formatting).
-
Only single instance installations are supported.
- Resolution: If you want to have more than one instance on a given host, consider using VMs or Docker containers.
-
All log files and error logs are encoded in UTF-16.
-
SQL Server Configuration Manager can’t connect to SQL Server on Linux.
-
CREATE ASSEMBLY will not work when trying to use a file. Use the FROM <bits> method instead for now.
-
Changing the locations of TempDB data and log files is not supported.
-
System databases cannot be moved with the mssql-conf utility.
-
When restoring a database that was backed up on SQL Server on Windows, you must use the WITH MOVE clause in the Transact-SQL statement.
-
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server distributed transactions are supported.
- In-Memory OLTP databases can only be created in the /var/opt/mssql directory. These databases also need to have the "C:\" notation when referred. For more information, visit the In-memory OLTP Topic.
-
Using SqlPackage requires to specify an absolute path for files. Using relative paths will map the files under the "/tmp/sqlpackage.<code>/system/system32" folder.
- Resolution: Use absolute file paths.
-
SqlPackage shows the location of files with a "C:\" prefix.
-
SQL Server Command Line tools (mssql-tools) and the ODBC Driver (msodbcsql) depends on a custom unixODBC Driver Manager. This causes conflicts if you have a previously installed unixODBC Driver Manager.
- Resolution: On Ubuntu, the conflict will be resolved automatically. When prompted if you would like to uninstall the existing unixODBC Driver Manager, type 'y' and proceed with the installation. On RedHat, you will have to remove the existing unixODBC Driver Manager manually using
yum remove unixODBC. We are working on fixing this limitation for RHEL and SUSE and should have an update for you soon.
The following limitations apply to SSMS on Windows connected to SQL Server on Linux.
-
Maintenance plans are not supported.
-
Management Data Warehouse (MDW) and the data collector in SSMS is not supported.
-
SSMS UI components that have Windows Authentication or Windows event log options do not work with Linux. You can still use these features with other options, such as SQL logins.
-
The SQL Server Agent is not supported yet. Therefore, SQL Server Agent functionality in SSMS does not work on Linux at the moment.
-
The file browser is restricted to the "C:\" scope, which resolves to /var/opt/mssql/ on Linux. To use other paths, generate scripts of the UI operation and replace the C:\ paths with Linux paths. Then execute the script manually in SSMS.
To get started, see the following quick start tutorials:
- Install on Red Hat Enterprise Linux
- Install on SUSE Linux Enterprise Server
- Install on Ubuntu
- Run on Docker
