适用于:SQL Server 在 Linux 上
SQL Server在 Linux 上运行,从 SQL Server 2017 (14.x) 开始。 它使用与Windows上的SQL Server相同的SQL Server 数据库引擎,跨受支持的平台(包括裸机、虚拟机和容器)提供一致的功能集和管理体验。
开始
如果您熟悉 SQL Server,但对 Linux 不熟悉,请参阅为 SQL 用户设计的 Linux 入门资源。
如果熟悉 Linux 和不熟悉 SQL Server,请参阅 “新建”SQL Server:学习资源。
选择您的安装
以下部分可帮助你在首选环境中安装Linux 上的 SQL Server。
- 直接在 Linux 计算机或 VM 上安装SQL Server
- 在 Linux 容器 中运行 SQL Server
- 在《适用于 Linux 的 Windows 子系统(WSL 2)》上安装 SQL Server(仅适用于开发)
直接在 Linux 计算机或 VM 上安装SQL Server
以下快速入门文章介绍如何在物理硬件或虚拟机(VM)上安装Linux 上的 SQL Server并创建数据库:
| 平台 | 支持SQL Server版本 |
|---|---|
| Red Hat Enterprise Linux (RHEL) | 2017、2019、2022 和 2025 |
| Ubuntu | 2017、2019、2022 和 2025 |
| SUSE Linux Enterprise Server (SLES) 1 | 仅限 2017、2019 和 2022 |
| Azure 虚拟机中的 SQL Server | 2017、2019、2022 和 2025 |
SQL Server 2025(17.x)及更高版本不支持 1 SUSE Linux Enterprise Server (SLES)。
在 Linux 容器中运行SQL Server
容器可用于本地测试、持续集成和部署(CI/CD)和开发环境中的临时工作负荷。 它们通常还用作生产环境中的容器业务流程的一部分,包括 Azure Kubernetes 服务 (AKS)、Red Hat OpenShift 和 DH2i DxOperator。
有关如何在 Linux 容器中安装SQL Server的说明,请参阅 Quickstart:使用 Docker 运行 SQL Server Linux 容器映像。
SQL Server容器映像已发布并在Microsoft容器注册表(MCR)上可用。 它们还会根据创建容器映像时使用的操作系统映像在以下位置进行编录:
| 操作系统 | 容器标记 |
|---|---|
| Red Hat Enterprise Linux | https://mcr.microsoft.com/artifact/mar/mssql/rhel/server/tags |
| Ubuntu | https://mcr.microsoft.com/artifact/mar/mssql/server/tags |
有关基于 RHEL 的 SQL Server 容器映像,请参阅 SQL Server Red Hat 容器。
若要了解有关容器的详细信息,请参阅Linux 上的 SQL Server容器。
注意
容器仅针对 最新的 Linux 分发版发布到 MCR。 如果您为旧版但仍受支持的发行版创建自己的自定义SQL Server容器映像,它仍然会得到支持。 有关详细信息,请参阅 即将更新的 Microsoft 工件注册表(MCR)上的 SQL Server 容器映像。
在 适用于 Linux 的 Windows 子系统 上安装SQL Server (WSL 2)
WSL 2 上的SQL Server仅用于开发目的,并且不支持生产工作负荷。 在你打算运行的 SQL Server 版本的WSL环境中,在其支持的平台之一运行 SQL Server。
有关如何在 WSL 2 上安装SQL Server的说明,请参阅快速入门:安装SQL Server并在 适用于 Linux 的 Windows 子系统 (WSL 2) 上创建数据库。
连接
安装后,连接到 Linux 计算机上的 SQL Server 实例。 可以本地或远程连接,也可以使用各种工具和驱动程序连接。 快速入门演示了如何使用 sqlcmd 命令行工具。 其他工具包括:
探索
SQL Server 2017(14.x)和更高版本在所有受支持的平台上具有相同的基础数据库引擎,包括 Linux 和容器。 因此,许多现有功能运行方式相同。 本文档的此部分以 Linux 的角度重点介绍了一些功能,并指出了在 Linux 上具有独特要求的区域。
核心功能
由于Linux 上的 SQL Server共享与Windows相同的数据库引擎,因此大多数功能在平台上的行为完全相同。 以下要点总结了主要功能,其中列出了特定于 Linux 的注释(如果适用)。
性能和查询优化
Linux 上的 SQL Server支持混合事务和分析工作负荷。 关键技术包括:
- 适用于高吞吐量事务处理场景的内存中 OLTP。
- 用于对大型数据集进行高效分析查询的列存储索引。
- 查询存储,用于监视查询性能和管理执行计划。
- 自动优化 和 智能查询处理(IQP), 在不更改应用程序的情况下提高性能,包括自适应联接、内存授予反馈、参数敏感计划优化和相关增强功能。
这些功能通过标准 Transact-SQL 配置和数据库兼容性级别启用。
安全性
Linux 上的 SQL Server包括内置安全功能,用于保护静态、内存和传输中的数据:
- 透明数据加密 (TDE)
- 始终加密 (Always Encrypted)
- 行级安全性
- 动态数据掩码
- 审核
- 数据发现和分类
- 漏洞评估
这些功能可帮助组织满足合规性和数据保护要求,而无需特定于平台的差异。
自动化和维护
linux 上提供了SQL Server 代理来运行计划和自动化任务,包括 Transact-SQL(T-SQL)作业、数据库邮件和日志传送。 代理包含在SQL Server包中,可以使用该mssql-conf实用工具启用。
高可用性和灾难恢复
Linux 上的 SQL Server支持多个可用性和恢复选项:
- 使用 Pacemaker 或 DH2i DxEnterprise 的 AlwaysOn 可用性组和故障转移群集实例
- 用于热备用场景的日志传输
SQL Server还可以在由 Kubernetes 等平台协调的容器化环境中运行,并选择性地集成可用性组以实现更高的复原能力。
数据集成和分析
Linux 上提供的其他功能包括:
- PolyBase 用于跨外部数据源查询和联接数据。
- 机器学习服务,用于运行靠近数据的 R 和Python脚本。
- 用于建模和查询基于关系的数据的图形数据库功能。
- 全文搜索,支持具有语言感知能力的文本查询。
- 用于 ETL 工作负载的 Integration Services (SSIS) 包执行。 包开发和设计在Windows上执行。
某些功能(如 PolyBase、机器学习 Services 和全文搜索)需要安装其他包。 有关详细信息,请参阅Linux 上的 SQL Server的安装指南。
如果已熟悉Linux 上的 SQL Server,请查看每个版本的一般准则和已知问题的发行说明。
| SQL Server 版本 | 发行说明 (Linux) | 新增功能(Linux) | 新增功能(Windows) |
|---|---|---|---|
| SQL Server 2025 (17.x) | 发行说明 | Linux 上的 SQL Server | SQL Server 在 Windows 上 |
| SQL Server 2022 (16.x) | 发行说明 | Linux 上的 SQL Server | SQL Server 在 Windows 上 |
| SQL Server 2019 (15.x) | 发行说明 | Linux 上的 SQL Server | SQL Server 在 Windows 上 |
| SQL Server 2017 (14.x) | 发行说明 | Linux 上的 SQL Server | SQL Server 在 Windows 上 |
提示
有关常见问题解答,请参阅 Linux 上的 SQL Server FAQ。
获取帮助
- SQL 点子:有没有改进 SQL Server 的建议?
- Microsoft 问答 (SQL Server)
- DBA Stack Exchange(sql-server 标签):提问有关 SQL Server 的问题
- Stack Overflow (tag sql-server):有关 SQL 开发问题的答案
- Microsoft SQL Server许可条款和信息
- 企业用户支持选项
- 额外的 SQL Server 帮助和反馈
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
有关详细信息,请参阅 Edit Microsoft Learn 文档。