Linux 上的 SQL Server 的安装指南

适用于:SQL Server - Linux

本文提供有关在 Linux 上安装、更新和卸载 SQL Server 2017 (14.x)、SQL Server 2019 (15.x) 和 SQL Server 2022 (16.x) 的指导。

有关其他部署方案,请参阅:

本指南涵盖了多种部署方案。 如果只是需要逐步安装说明,请跳转到其中一个快速入门:

有关常见问题的解答,请参阅 Linux 上的 SQL Server 常见问题解答

SQL Server 支持策略

术语 定义
服务 Microsoft 在产品的生命周期内针对受支持分发版发布了 GDR、修补程序和安全修补程序。
支持 Microsoft 针对遇到受支持分发版相关问题的用户提供支持。

支持策略

Linux 分发版支持 SQL Server,直到以下两个事件中的较早事件:分发版支持生命周期结束或 SQL Server 支持生命周期结束。

服务策略

在 SQL Server 的主要支持阶段,我们为所有也在其主要支持期内的 Linux 分发版提供累积更新 (CU)。 对于从主要支持转向外延支持并且仍被视为受支持平台的 Linux 分发版,Microsoft 可以自行发布 CU 和缺陷修复。

一旦 SQL Server 退出主要支持并进入外延支持阶段,我们将继续发布安全更新和常规分发版本 (GDR) 修复。 但是,这些更新不会扩展到结束支持期的 Linux 分发版。

受支持的平台

SQL Server 在 Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise Server (SLES) 和 Ubuntu 上受支持。 此外,它也作为容器映像得到支持,可在 Linux 上的 Kubernetes、OpenShift 和 Docker 引擎上运行。

平台 文件系统 安装指南
Red Hat Enterprise Linux 7.7 - 7.9 Server 1 或 8.x Server XFS 或 EXT4 安装指南
SUSE Linux Enterprise Server v12 SP3 - SP5 2 XFS 或 EXT4 安装指南
Ubuntu 18.04 LTS 3 XFS 或 EXT4 安装指南
Linux 上的 Docker 引擎 1.8+ 空值 安装指南

1 2024 年 6 月底,RHEL 7.x 从主流维护过渡到扩展生命周期支持 (ELS)。 有关详细信息,请参阅 Red Hat Enterprise Linux 生命周期

2 2024 年 10 月底,SLES v12 将从标准常规支持过渡到长期服务包支持 (LTSS)。 有关详细信息,请参阅按产品列出的产品支持生命周期日期

3 2023 年 4 月底,Ubuntu 18.04 LTS 从标准维护过渡到扩展的安全维护 (ESM)。 有关详细信息,请参阅 Ubuntu 18.04 标准支持结束

提示

有关详细信息,请查看 Linux 上 SQL Server 的系统要求。 有关 SQL Server 的最新支持策略,请参阅 Microsoft SQL Server 的技术支持策略

应在受支持的平台(如 Red Hat Enterprise LinuxSUSE Linux Enterprise ServerUbuntu Pro)上运行生产工作负荷,因为它们会定期收到 OS 安全更新,并提供部署企业数据库所需的支持范围选项。

平台 文件系统 安装指南 获取
Red Hat Enterprise Linux 7.7 - 7.9 Server 1 或 8.x Server XFS 或 EXT4 安装指南 获取 RHEL 8
SUSE Linux Enterprise Server v12 (SP3 - SP5) 2 或 v15 (SP1 - SP3) XFS 或 EXT4 安装指南 获取 SLES v15
Ubuntu 18.04 3 或 20.04 XFS 或 EXT4 安装指南 Ubuntu 20.04
适用于 Windows、Mac 或 Linux 的 Docker 引擎 1.8 及更高版本 空值 安装指南 获取 Docker

1 2024 年 6 月底,RHEL 7.x 从主流维护过渡到扩展生命周期支持 (ELS)。 有关详细信息,请参阅 Red Hat Enterprise Linux 生命周期

2 2024 年 10 月底,SLES v12 将从标准常规支持过渡到长期服务包支持 (LTSS)。 有关详细信息,请参阅按产品列出的产品支持生命周期日期

3 2023 年 4 月底,Ubuntu 18.04 LTS 从标准维护过渡到扩展的安全维护 (ESM)。 有关详细信息,请参阅 Ubuntu 18.04 标准支持结束

提示

有关详细信息,请查看 Linux 上 SQL Server 的系统要求。 有关 SQL Server 的最新支持策略,请参阅 Microsoft SQL Server 的技术支持策略

应在受支持的平台(如 Red Hat Enterprise LinuxSUSE Linux Enterprise ServerUbuntu Pro)上运行生产工作负荷,因为它们会定期收到 OS 安全更新,并提供部署企业数据库所需的支持范围选项。

平台 文件系统 安装指南 获取
Red Hat Enterprise Linux 8.x 或 9.x 服务器 XFS 或 EXT4 安装指南 获取 RHEL 9
SUSE Linux Enterprise Server v15 (SP1 - SP4) XFS 或 EXT4 安装指南 获取 SLES v15
Ubuntu 20.04 或 22.04 XFS 或 EXT4 安装指南 获取 Ubuntu 22.04
Linux 上的 Docker 引擎 1.8+ 空值 安装指南 获取 Docker

提示

有关详细信息,请查看 Linux 上 SQL Server 的系统要求。 有关 SQL Server 的最新支持策略,请参阅 Microsoft SQL Server 的技术支持策略

Microsoft 还支持使用 OpenShift 和 Kubernetes 部署和管理 SQL Server 容器。

备注

SQL Server 在 Linux 上针对之前列出的发行版进行了测试且受支持。 如果选择在不受支持的操作系统上安装 SQL Server,请查看 Microsoft SQL Server 的技术支持策略的“支持策略”部分,以了解支持含义。

系统要求

SQL Server 对 Linux 具有以下系统要求:

要求
内存 2 GB 1
文件系统 XFS 或 EXT4(其他文件系统均不受支持,如 BTRFS)
磁盘空间 6 GB
处理器速度 2 GHz
处理器核心数 2 个核心
处理器类型 仅兼容 x64

1 2 GB 是启动 Linux 上的 SQL Server 所需的最小内存,它容纳系统线程和内部进程。 设置最大服务器内存MemoryLimitMB 时,必须考虑到此数量。

如果在生产中使用网络文件系统 (NFS) 远程共享,请注意以下支持要求:

  • 使用 NFS 版本 4.2 或更高版本。 较早版本的 NFS 不支持现代文件系统常用的必需功能,例如 fallocate 和稀疏文件创建。
  • 仅在 NFS 装载上查找 /var/opt/mssql 目录。 不支持其他文件,例如 SQL Server 系统二进制文件。

配置源存储库

安装或升级 SQL Server 时,从配置的 Microsoft 存储库中获取最新版本的 SQL Server。 快速入门使用 SQL Server 的累积更新 (CU) 存储库。 有关存储库以及如何配置存储库的详细信息,请参阅配置用于安装和升级在 Linux 上的 SQL Server 的存储库

安装 SQL Server

可以从命令行安装 Linux 上的 SQL Server。 有关分步说明,请参阅以下快速入门之一:

平台 安装快速入门
Red Hat Enterprise Linux (RHEL) 2017 | 2019 | 2022
SUSE Linux Enterprise Server (SLES) 2017 | 2019 | 2022
Ubuntu 2017 | 2019 | 2022
Docker 2017 | 2019 | 2022

还可以在 Azure 虚拟机中运行 Linux 上的 SQL Server。 有关详细信息,请参阅在 Azure 中预配 SQL VM

安装后,请考虑进行额外配置更改以实现最佳性能。 有关详细信息,请参阅 Linux 上的 SQL Server 的性能最佳做法和配置指南

更新或升级 SQL Server

若要将 mssql-server 包更新到最新版本,请根据你的平台使用以下命令之一:

平台 包更新命令
RHEL sudo yum update mssql-server
SLES sudo zypper update mssql-server
Ubuntu sudo apt-get update
sudo apt-get install mssql-server

这些命令将下载最新包,并替换 /opt/mssql/ 下的二进制文件。 此操作不会影响到用户生成的数据库和系统数据库。

若要升级 SQL Server,请首先将配置的存储库更改为所需的 SQL Server 版本。 然后使用同一个 update 命令升级 SQL Server 版本。 只有当在两个存储库之间支持升级路径时,才能执行此步骤。

回退 SQL Server

若要将 SQL Server 回退或降级到以前的版本,请使用以下步骤:

  1. 标识要降级到的 SQL Server 包的版本号。 有关包版本号的列表,请参阅发行说明:

  2. 降级到 SQL Server 的早期版本。 在以下命令中,将 <version_number> 替换为步骤 1 中识别的 SQL Server 版本号。

    平台 包更新命令
    RHEL sudo yum downgrade mssql-server-<version_number>.x86_64
    SLES sudo zypper install --oldpackage mssql-server=<version_number>
    Ubuntu sudo apt-get install mssql-server=<version_number>
    sudo systemctl start mssql-server

注意

唯一支持的降级是降级到同一主版本内的版本,如 SQL Server 2022 (16.x)。

检查已安装的 SQL Server 版本

若要验证 Linux 上的 SQL Server 的当前版本和版本,请使用以下过程:

  1. 如果尚未安装,请参阅在 Linux 上安装 SQL Server 命令行工具 sqlcmd 和 bcp

  2. 使用“sqlcmd”运行显示 SQL Server 版本的 Transact-SQL 命令。

    sqlcmd -S localhost -U SA -Q 'select @@VERSION'
    

卸载 SQL Server

若要删除 Linux 上的 mssql-server 包,请根据你的平台使用以下命令之一:

平台 包删除命令
RHEL sudo yum remove mssql-server
SLES sudo zypper remove mssql-server
Ubuntu sudo apt-get remove mssql-server

删除包不会删除生成的数据库文件。 如果希望删除数据库文件,请使用以下命令:

sudo rm -rf /var/opt/mssql/

无人参与安装

可以通过以下方式执行无人参与安装:

  • 按照快速入门中的初始步骤注册存储库并安装 SQL Server。
  • 运行 mssql-conf setup 时,设置环境变量并使用 -n(无提示)选项。

以下示例使用 MSSQL_PID 环境变量配置 SQL Server Developer Edition。 它还接受 EULA (ACCEPT_EULA) 并设置 SA 用户密码 (MSSQL_SA_PASSWORD)。 该 -n 参数执行无提示安装,安装期间从环境变量中提取配置值。

sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' /opt/mssql/bin/mssql-conf -n setup

还可以创建执行其他操作的脚本。 例如,可安装其他 SQL Server 包。

有关更详细的示例脚本,请参阅以下示例:

脱机安装

如果 Linux 计算机无法访问快速入门中使用的联机存储库,则可以直接下载包文件。 这些包位于 Microsoft 存储库中,地址为 https://packages.microsoft.com

提示

如果通过快速入门中的步骤成功安装了包,则无需下载或者手动安装 SQL Server 包。 这部分仅适用于脱机情况。

  1. 下载适用于平台的数据库引擎包。 在发行说明的包详细信息部分找到包下载链接。

  2. 将下载的包移动到 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。

  3. 安装数据库引擎包。 根据你的平台使用以下命令之一。 将此示例中的包文件名替换为下载的确切名称。

    平台 包安装命令
    RHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
    SLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
    Ubuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb

    备注

    还可使用 rpm -ivh 命令安装 RPM 包(RHEL 和 SLES),但如果可以从批准的存储库中获得,则上表中的命令会自动安装依赖项。

  4. 解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在 Ubuntu 上,如果能够访问包含这些依赖项的已批准的存储库,最简单的解决办法是使用 apt-get -f install 命令。 此命令还会完成 SQL Server 的安装。 若要手动检查依赖项,请使用以下命令:

    平台 列出依赖项命令
    RHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
    SLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
    Ubuntu dpkg -I mssql-server_versionnumber_amd64.deb

    解决缺少的依赖项后,可以尝试再次安装 mssql-server 包。

  5. 完成 SQL Server 安装。 使用“mssql-conf”完成 SQL Server 安装:

    sudo /opt/mssql/bin/mssql-conf setup
    

许可和定价

对于 Linux 和 Windows,SQL Server 获得的许可都相同。 有关 SQL Server 授权和定价的详细信息,请参阅如何许可 SQL ServerSQL Server 许可资源和文档

可选的 SQL Server 功能

安装后,还可以安装或启用可选的 SQL Server 功能。

获取帮助

参与编辑 SQL 文档

你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。

有关详细信息,请参阅如何参与 SQL Server 文档编辑