Release notes for SQL Server 2019 on Linux

Applies to: SQL Server 2019 (15.x) - Linux

The following release notes apply to SQL Server 2019 (15.x) running on Linux. This article is broken into sections for each release. For detailed supportability and known issues, see Known issues. Each release links to a support article describing the changes, in addition to the Linux package downloads.

These release notes are specifically for SQL Server 2019 (15.x) releases. For release notes on other editions, see the following articles:

Supported platforms

Platform File System Installation Guide Get
Red Hat Enterprise Linux 7.7 - 7.9, or 8.0 - 8.6 Server XFS or EXT4 Installation guide Get RHEL 8.0
SUSE Enterprise Linux Server v12 (SP3 - SP5), or v15 (SP1 - SP3) XFS or EXT4 Installation guide Get SLES v15
Ubuntu 16.04 LTS 1, 18.04 LTS, 20.04 LTS XFS or EXT4 Installation guide Get Ubuntu 20.04
Docker Engine 1.8+ on Windows, Mac, or Linux N/A Installation guide Get Docker

1 Support for SQL Server on Ubuntu 16.04 is limited. At the end of April 2021, Ubuntu 16.04 transitioned from its standard five-year maintenance window for long term support (LTS) releases, into extended security maintenance (ESM) support. For more details, see Ubuntu 16.04 LTS transitions to Extended Security Maintenance (ESM) | Ubuntu.

Tip

For more information, review the system requirements for SQL Server on Linux. For the latest support policy for SQL Server, see the Technical support policy for Microsoft SQL Server.

Tools

Most existing client tools that target SQL Server can seamlessly target SQL Server running on Linux. Some tools might have a specific version requirement to work well with Linux. For a full list of SQL Server tools, see SQL Tools and Utilities for SQL Server.

Latest versions for all packages

This section lists the latest versions of each package per distribution, for SQL Server 2019. The following table shows the most recent release, which is CU 19. For full release history, see Release history for SQL Server 2019.

Version Release Date Build KB article
SQL Server 2019 (15.x) CU 19 2023-02-16 15.0.4298.1 KB 5023049
Distribution Package name Package version Download
Red Hat Enterprise Linux
RHEL 8 Database Engine 15.0.4298.1-1 Database Engine RPM package
RHEL 8 Extensibility 15.0.4298.1-1 Extensibility RPM package
RHEL 8 Full-Text Search 15.0.4298.1-1 Full-Text Search RPM package
RHEL 8 High Availability 15.0.4298.1-1 High Availability RPM package
RHEL 8 Java Extensibility 15.0.4298.1-1 Java Extensibility RPM package
RHEL 8 PolyBase 15.0.4298.1-1 PolyBase RPM package
RHEL 8 SSIS 15.0.4063.15-88 SSIS RPM package
SUSE Enterprise Linux Server
SLES 15 Database Engine 15.0.4298.1-1 Database Engine RPM package
SLES 15 Extensibility 15.0.4298.1-1 Extensibility RPM package
SLES 15 Full-Text Search 15.0.4298.1-1 Full-Text Search RPM package
SLES 15 High Availability 15.0.4298.1-1 High Availability RPM package
SLES 15 Java Extensibility 15.0.4298.1-1 Java Extensibility RPM package
SLES 15 PolyBase 15.0.4298.1-1 PolyBase RPM package
Ubuntu
Ubuntu 20.04 Database Engine 15.0.4298.1-1 Database Engine Debian package
Ubuntu 20.04 Extensibility 15.0.4298.1-1 Extensibility Debian package
Ubuntu 20.04 Full-Text Search 15.0.4298.1-1 Full-Text Search Debian package
Ubuntu 20.04 High Availability 15.0.4298.1-1 High Availability Debian package
Ubuntu 20.04 Java Extensibility 15.0.4298.1-1 Java Extensibility Debian package
Ubuntu 20.04 PolyBase 15.0.4298.1-1 PolyBase Debian package
Ubuntu 16.04 SSIS 15.0.4063.15-88 SSIS Debian package

How to install updates

When you configure the CU repository (mssql-server-2019), you get the latest CU of SQL Server packages when you perform new installations. If you require Docker container images, see official images for Microsoft SQL Server on Linux for Docker Engine. For more information about repository configuration, see Configure repositories for SQL Server on Linux.

If you are updating existing SQL Server packages, run the appropriate update command for each package to get the latest CU. For specific update instructions for each package, see the following installation guides:

Release history

The following table lists the release history for SQL Server 2019 (15.x).

Release Version Release date
CU 19 15.0.4298.1 2023-02-16
CU 18 GDR 15.0.4280.7 2023-02-14
CU 18 15.0.4261.1 2022-09-28
CU 17 15.0.4249.2 2022-08-11
CU 16 GDR 15.0.4236.7 2022-06-14
CU 16 15.0.4223.1 2022-04-18
CU 15 15.0.4198.2 2022-01-27
CU 14 15.0.4188.2 2021-11-22
CU 13 15.0.4178.1 2021-10-05
CU 12 15.0.4153.1 2021-08-04
CU 11 15.0.4138.2 2021-06-10
CU 10 15.0.4123.1 2021-04-06
CU 9 15.0.4102.2 2021-02-10
CU 8 GDR 15.0.4083.2 2021-01-12
GDR 1 15.0.2080.9 2021-01-12
CU 8 15.0.4073.23 2020-10-07
CU 7 (Removed) 15.0.4063.15 2020-09-02
CU 6 15.0.4053.23 2020-08-04
CU 5 15.0.4043.16 2020-06-22
CU 4 15.0.4033.1 2020-03-31
CU 3 15.0.4023.6 2020-03-12
CU 2 15.0.4013.40 2020-02-13
CU 1 15.0.4003.23 2020-01-07
GA 15.0.2000.5 2019-11-04

Known issues

The following sections describe known issues with SQL Server 2019 (15.x) on Linux.

General

  • 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.
  • OLEDB provider logs the following warning: Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this is not an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support.

    • Resolution: No action is required. The OLEDB provider is signed using SHA256. SQL Server Database engine doesn't validate the signed .dll correctly.

Databases

  • The master database can't be moved with the mssql-conf utility. Other system databases can be moved with mssql-conf.

  • 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.

  • Certain algorithms (cipher suites) for Transport Layer Security (TLS) don't work properly with SQL Server on Linux. This results in connection failures when attempting to connect to SQL Server, and problems establishing connections between replicas in high availability groups.

    • Resolution: Modify the mssql.conf configuration script for SQL Server on Linux to disable problematic cipher suites, by doing the following:

      1. Add the following to /var/opt/mssql/mssql.conf.

        [network]
        tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHA
        

        Note

        In the preceding code, ! negates the expression. This tells OpenSSL to not use the following cipher suite.

      2. Restart SQL Server with the following command.

        sudo systemctl restart mssql-server
        
  • SQL Server 2014 (12.x) databases on Windows that use In-memory OLTP can't be restored to SQL Server on Linux. To restore a SQL Server 2014 (12.x) database that uses In-memory OLTP, first upgrade the databases to a newer version of SQL Server on Windows, before moving them to SQL Server on Linux, via backup/restore or detach/attach.

  • User permission ADMINISTER BULK OPERATIONS is not supported on Linux at this time.

  • TDE-compressed backups that are made using SQL Server 2019 (15.x) CU 16 and later cannot be restored to previous CU versions of SQL Server 2019 (15.x). For more information, see FIX: Error 3241 occurs during executing RESTORE LOG or RESTORE DATABASE.

    Transparent Data Encryption (TDE)-compressed backups that are made using previous CU versions of SQL Server 2019 (15.x) can still be restored by using SQL Server 2019 (15.x) CU 16 and later versions.

Network

Features that involve outbound TCP connections from the sqlservr process, such as linked servers, PolyBase, or availability groups, might not work if both the following conditions are met:

  1. The target server is specified as a hostname and not an IP address.

  2. The source instance has IPv6 disabled in the kernel. To verify if your system has IPv6 enabled in the kernel, all the following tests must pass:

    • cat /proc/cmdline will print the boot cmdline of the current kernel. The output must not contain ipv6.disable=1.
    • The /proc/sys/net/ipv6/ directory must exist.
    • A C program that calls socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) should succeed - the syscall must return an fd != -1 and not fail with EAFNOSUPPORT.

The exact error depends on the feature. For linked servers, this manifests as a login timeout error. For availability groups, the ALTER AVAILABILITY GROUP JOIN DDL on the secondary will fail after 5 minutes with a download configuration timeout error.

To work around this issue, do one of the following:

  1. Use IPs instead of host names to specify the target of the TCP connection.

  2. Enable IPv6 in the kernel by removing ipv6.disable=1 from the boot command line. The way to do this depends on the Linux distribution and the bootloader, such as grub. If you want IPv6 to be disabled, you can still disable it by setting net.ipv6.conf.all.disable_ipv6 = 1 in the sysctl configuration (for example, /etc/sysctl.conf). This will still prevent the system's network adapter from getting an IPv6 address, but allow the sqlservr features to work.

Network File System (NFS)

If you use Network File System (NFS) remote shares in production, note the following support requirements:

  • Use NFS version 4.2 or higher. Older versions of NFS don't support required features, such as fallocate and sparse file creation, common to modern file systems.

  • Locate only the /var/opt/mssql directories on the NFS mount. Other files, such as the SQL Server system binaries, aren't supported.

  • Ensure that NFS clients use the nolock option when mounting the remote share.

Localization

  • If your locale isn't English (en_us) during setup, you must use UTF-8 encoding in your bash session/terminal. If you use ASCII encoding, you might see an error similar to the following:

    UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 8: ordinal not in range(128)
    

    If you can't use UTF-8 encoding, run setup using the MSSQL_LCID environment variable to specify your language choice.

    sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
    
  • When running mssql-conf setup, and performing a non-English installation of SQL Server, incorrect extended characters are displayed after the localized text, "Configuring SQL Server...". Or, for non-Latin based installations, the sentence might be missing completely. The missing sentence should display the following localized string:

    The licensing PID was successfully processed. The new edition is [<Name> edition].

    This string is output for information purposes only, and the next SQL Server Cumulative Update will address this for all languages. This doesn't affect the successful installation of SQL Server in any way.

Not all filters are available with this release, including filters for Microsoft Office documents. For a list of supported filters, see Install SQL Server Full-Text Search on Linux.

SQL Server Integration Services (SSIS)

The mssql-server-is package isn't supported on SUSE in this release. It's currently supported on Ubuntu and on Red Hat Enterprise Linux (RHEL).

Integration Services packages can use ODBC connections on Linux. This functionality has been tested with the SQL Server and the MySQL ODBC drivers, but is also expected to work with any Unicode ODBC driver that observes the ODBC specification. At design time, you can provide either a DSN or a connection string to connect to the ODBC data; you can also use Windows authentication. For more info, see the blog post announcing ODBC support on Linux.

The following features aren't supported in this release when you run SSIS packages on Linux:

  • Integration Services Catalog database
  • Scheduled package execution by SQL Agent
  • Windows Authentication
  • Third-party components
  • Change Data Capture (CDC)
  • Integration Services Scale Out
  • Azure Feature Pack for SSIS
  • Hadoop and HDFS support
  • Microsoft Connector for SAP BW

For a list of built-in SSIS components that aren't currently supported, or that are supported with limitations, see Limitations and known issues for SSIS on Linux.

For more info about SSIS on Linux, see the following articles:

SQL Server Management Studio (SSMS)

The following limitations apply to SQL Server Management Studio on Windows connected to SQL Server on Linux.

  • Maintenance plans aren't supported.

  • Management Data Warehouse (MDW) and the data collector in SQL Server Management Studio aren't supported.

  • SQL Server Management Studio UI components that have Windows Authentication or Windows event log options don't work with Linux. You can still use these features with other options, such as SQL logins.

  • Number of log files to retain can't be modified.

See also

Next steps