Linux 上的 SQL Server 的安装指南
适用于:SQL Server - Linux
本文提供有关在 Linux 上安装、更新和卸载 SQL Server 2017 (14.x)、SQL Server 2019 (15.x) 和 SQL Server 2022 (16.x) 的指导。
有关其他部署方案,请参阅:
- Windows
- Linux 容器
- Kubernetes - 大数据群集(仅限 SQL Server 2019 (15.x))
本指南涵盖了多种部署方案。 如果只是需要逐步安装说明,请跳转到其中一个快速入门:
- 快速入门:在 Red Hat 上安装 SQL Server 并创建数据库
- 快速入门:在 SUSE Linux Enterprise Server 上安装 SQL Server 并创建数据库
- 快速入门:安装 SQL Server 并在 Ubuntu 上创建数据库
- 快速入门:使用 Docker 运行 SQL Server Linux 容器映像
有关常见问题的解答,请参阅 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 Linux、SUSE Linux Enterprise Server 和 Ubuntu 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 Linux、SUSE Linux Enterprise Server 和 Ubuntu 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 回退或降级到以前的版本,请使用以下步骤:
标识要降级到的 SQL Server 包的版本号。 有关包版本号的列表,请参阅发行说明:
降级到 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 的当前版本和版本,请使用以下过程:
如果尚未安装,请参阅在 Linux 上安装 SQL Server 命令行工具 sqlcmd 和 bcp。
使用“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/
无人参与安装
可以通过以下方式执行无人参与安装:
以下示例使用 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 包。
有关更详细的示例脚本,请参阅以下示例:
- 示例:Red Hat Enterprise Linux 的无人参与 SQL Server 安装脚本
- 示例:SUSE Linux Enterprise Server 的无人参与 SQL Server 安装脚本
- 示例:Ubuntu 的无人参与 SQL Server 安装脚本
脱机安装
如果 Linux 计算机无法访问快速入门中使用的联机存储库,则可以直接下载包文件。 这些包位于 Microsoft 存储库中,地址为 https://packages.microsoft.com。
提示
如果通过快速入门中的步骤成功安装了包,则无需下载或者手动安装 SQL Server 包。 这部分仅适用于脱机情况。
下载适用于平台的数据库引擎包。 在发行说明的包详细信息部分找到包下载链接。
将下载的包移动到 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。
安装数据库引擎包。 根据你的平台使用以下命令之一。 将此示例中的包文件名替换为下载的确切名称。
平台 包安装命令 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),但如果可以从批准的存储库中获得,则上表中的命令会自动安装依赖项。解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在 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
包。完成 SQL Server 安装。 使用“mssql-conf”完成 SQL Server 安装:
sudo /opt/mssql/bin/mssql-conf setup
许可和定价
对于 Linux 和 Windows,SQL Server 获得的许可都相同。 有关 SQL Server 授权和定价的详细信息,请参阅如何许可 SQL Server 和 SQL Server 许可资源和文档。
可选的 SQL Server 功能
安装后,还可以安装或启用可选的 SQL Server 功能。
- 在 Linux 上安装 SQL Server 命令行工具 sqlcmd 和 bcp
- 在 Linux 上安装 SQL Server 代理
- 在 Linux 上安装 SQL Server 全文搜索
- 在 Linux 上安装 SQL Server 2019 机器学习服务(Python 和 R)
- 在 Linux 上安装 SQL Server Integration Services (SSIS)
获取帮助
- SQL 意见:是否有改进 SQL Server 的建议?
- Microsoft Q&A (SQL Server)
- DBA Stack Exchange (tag sql-server):询问 SQL Server 相关问题
- Stack Overflow (tag sql-server):有关 SQL 开发问题的答案
- Reddit:有关 SQL Server 的一般讨论
- Microsoft SQL Server 许可条款和许可证信息
- 企业用户支持选项
- 其他 SQL Server 帮助和反馈
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
有关详细信息,请参阅如何参与 SQL Server 文档编辑