| author | rwestMSFT | |
|---|---|---|
| ms.author | randolphwest | |
| ms.date | 08/30/2023 | |
| ms.service | sql | |
| ms.subservice | linux | |
| ms.topic | include | |
| ms.custom |
|
The following sections describe known issues with [!INCLUDE sssql22] on Linux.
Note
Support for [!INCLUDE sssql22-md] on Red Hat Enterprise Linux 9.x and Ubuntu 22.04 is currently in preview.
-
The length of the hostname where [!INCLUDE ssNoVersion] is installed needs to be 15 characters or less.
- Resolution: Change the name in
/etc/hostnameto something 15 characters long or less.
- Resolution: Change the name in
-
Manually setting the system time backward in time causes [!INCLUDE ssNoVersion] to stop updating the internal system time within [!INCLUDE ssNoVersion].
- Resolution: Restart [!INCLUDE ssNoVersion].
-
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.
-
[!INCLUDE ssNoVersion] Configuration Manager can't connect to [!INCLUDE ssNoVersion] on Linux.
-
The default language of the sa login is English.
- Resolution: Change the language of the sa login with the
ALTER LOGINstatement.
- Resolution: Change the language of the sa login with the
-
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.
-
The Reset password command using mssql-conf throws the following error:
'Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information.'- Resolution: The error message is a false negative. The password reset was successful, and you can continue using the new password. This issue only applies to [!INCLUDE sssql22-md] container images, and doesn't occur in previous versions of [!INCLUDE ssnoversion-md].
-
The
masterdatabase 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 [!INCLUDE ssNoVersion] on Windows, you must use the
WITH MOVEclause in the Transact-SQL statement. -
Certain algorithms (cipher suites) for Transport Layer Security (TLS) don't work properly with [!INCLUDE ssNoVersion] on Linux. This results in connection failures when attempting to connect to [!INCLUDE ssNoVersion], and problems establishing connections between replicas in high availability groups.
-
Resolution: Modify the
mssql.confconfiguration script for [!INCLUDE ssNoVersion] on Linux to disable problematic cipher suites, by following these steps:-
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. -
Restart [!INCLUDE ssNoVersion] with the following command.
sudo systemctl restart mssql-server
-
-
-
[!INCLUDE ssSQL14] databases on Windows that use In-memory OLTP can't be restored to [!INCLUDE ssNoVersion] on Linux. To restore a [!INCLUDE ssSQL14] database that uses In-memory OLTP, first upgrade the databases to a newer version of [!INCLUDE ssNoVersion] on Windows, before moving them to [!INCLUDE ssNoVersion] on Linux, via backup/restore or detach/attach.
-
User permission
ADMINISTER BULK OPERATIONSisn't supported on Linux at this time.
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:
-
The target server is specified as a hostname and not an IP address.
-
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/cmdlineprints the boot cmdline of the current kernel. The output must not containipv6.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 anfd != -1and not fail withEAFNOSUPPORT.
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 steps:
-
Use IPs instead of host names to specify the target of the TCP connection.
-
Enable IPv6 in the kernel by removing
ipv6.disable=1from the boot command line. The method depends on the Linux distribution and the bootloader, such as grub. If you want IPv6 to be disabled, you can still disable it by settingnet.ipv6.conf.all.disable_ipv6 = 1in thesysctlconfiguration (for example,/etc/sysctl.conf). This still prevents the system's network adapter from getting an IPv6 address, but allow thesqlservrfeatures to work.
Although TLS 1.3 is supported on [!INCLUDE sssql22-md] for Windows, you must use TLS 1.2 on Linux.
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
fallocateand sparse file creation, common to modern file systems. -
Locate only the
/var/opt/mssqldirectories on the NFS mount. Other files, such as the [!INCLUDE ssNoVersion] system binaries, aren't supported. -
Ensure that NFS clients use the
nolockoption when mounting the remote share.
-
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 output: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_LCIDenvironment variable to specify your language choice.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
-
When you run
mssql-conf setupwhile performing a non-English installation of [!INCLUDE ssNoVersion], 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 [!INCLUDE ssNoVersion] Cumulative Update will address this issue for all languages. This doesn't affect the successful installation of [!INCLUDE ssNoVersion] 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.
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).
[!INCLUDE ssISnoversion] packages can use ODBC connections on Linux. We have tested this functionality with [!INCLUDE ssNoVersion] 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:
- [!INCLUDE ssISnoversion] Catalog database
- Scheduled package execution by SQL Agent
- Windows Authentication
- Third-party components
- Change Data Capture (CDC)
- [!INCLUDE ssISnoversion] 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:
- Blog post announcing SSIS support for Linux.
- Install SQL Server Integration Services (SSIS) on Linux
- Extract, transform, and load data on Linux with SSIS
The following limitations apply to [!INCLUDE ssManStudioFull] on Windows connected to [!INCLUDE ssNoVersion] on Linux.
-
Maintenance plans aren't supported.
-
Management Data Warehouse (MDW) and the data collector in [!INCLUDE ssManStudioFull] aren't supported.
-
[!INCLUDE ssManStudioFull] 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.
For [!INCLUDE sssql22-md] packages for RHEL 9 (preview) and Ubuntu 22.04 (preview), when you enable the HA/DR stack with Pacemaker, you can experience issues with automatic and manual failover. These issues are currently limited to the Pacemaker HA stack. Other HA stacks, including HPE Serviceguard and DH2i DxEnterprise, don't have these issues.
For [!INCLUDE sssql22-md] packages for RHEL 9 (preview) and Ubuntu 22.04 (preview), there are some prerequisites to take into account with cgroup-v1, before installing Machine Learning Services.
-
As a prerequisite,
cgroup-v1needs to be enabled as per Using cgroupfs to manually manage cgroups Red Hat Enterprise Linux 9 from Red Hat. -
Then follow instructions to install SQL Machine Learning Services as documented.
-
Disable network namespace isolation.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1 -
Restart
mssql-launchpaddservice for these changes to take effect.sudo systemctl restart mssql-launchpadd
For Ubuntu 22.04 (preview), you should reach out to Canonical directly for the exact steps. Based on the available information, here's a summary of the steps that are needed. We don't recommend these steps on a production workload.
-
Open the grub bootloader configuration file located at
/etc/default/grub.sudo vi /etc/default/grub
-
Find the line starting with
GRUB_CMDLINE_LINUX_DEFAULT=and appendsystemd.unified_cgroup_hierarchy=0to the string value of this parameter. The result should be something like the following output:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"Save the file and exit the editor.
-
Update grub and reboot the system.
sudo update-grub sudo reboot
-
Once the system finishes the reboot, verify that
cgroup-v1is set up correctly, by checking thecgroupmount points.mount | grep cgroupThe output should look as follows, you should see
cgroupwithout a number suffix in the output:tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755,inode64) cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/misc type cgroup (rw,nosuid,nodev,noexec,relatime,misc)Once you have enabled
cgroup-v1for Ubuntu 22.04, follow the steps in Install SQL Server 2022 Machine Learning Services (Python and R) on Linux, to install and enable SQL Machine Learning Service for [!INCLUDE sssql22-md] preview packages on Ubuntu 22.04.