×

SQL Server 跑在 Linux 上是什么体验

独孤求败 独孤求败 发表于2026-05-20 09:21:02 浏览51 评论0

抢沙发发表评论

"SQL Server 不是只能装 Windows 吗?"

这个认知已经过时了。从 SQL Server 2017 开始,微软官方支持 Linux 平台。到 SQL Server 2022,Linux 版本已经非常成熟,不少公司在生产环境跑得很稳。

今天聊聊真实体验:什么场景适合用 Linux 版、有什么坑、和 Windows 版有什么区别。

为什么要在 Linux 上跑 SQL Server

1. 成本

Windows Server 许可证不便宜。如果你的 SQL Server 用标准版或开发版,跑在 Linux 上可以省掉 Windows 的授权费用。对于开发测试环境,这个节省很明显。

2. 容器化

Docker/Kubernetes 生态是 Linux 原生的。SQL Server on Linux 可以直接跑在容器里,几秒钟启动一个实例。做 CI/CD 测试、开发环境秒级创建销毁,效率提升巨大。

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong@Pass' \
  -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest

一行命令,SQL Server 就起来了。

3. 技术栈统一

很多公司的技术栈已经全面 Linux 化——MySQL、PostgreSQL、Redis、Kafka 都在 Linux 上。如果还有几台 SQL Server 跑在 Windows 上,运维体系就得分两套。统一到 Linux,监控、部署、自动化都方便很多。

4. 性能

微软做了大量优化,Linux 版和 Windows 版的性能基本持平,某些 IO 密集场景 Linux 还略有优势(得益于 Linux 内核的 IO 调度)。

哪些功能在 Linux 上不支持

必须说清楚,Linux 版不是 100% 功能对等:

  • SSMS 图形界面:没有 Linux 版,只能用 Azure Data Studio 或 sqlcmd。远程管理可以从 Windows 机器连过来用 SSMS
  • SSIS/SSRS/SSAS:这三大件不支持 Linux。ETL、报表、分析服务还是得 Windows
  • Windows 故障转移集群(FCI):不支持。Linux 上用 Pacemaker + Corosync 实现高可用
  • AD 集成认证:支持,但配置比 Windows 复杂,需要 keytab 和 krb5 配置
  • 文件流/文件表(FileStream/FileTable):不支持
  • 分布式事务(MSDTC):不支持

核心的数据库引擎功能——查询处理、事务、Always On AG、TDE、审计——都完整支持。

安装体验

以 RHEL/CentOS 为例,安装比想象中简单:

# 添加 repo
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo

# 安装
yum install -y mssql-server

# 初始化配置
/opt/mssql/bin/mssql-conf setup

几分钟搞定。比 Windows 上点 Next Next 的安装向导还快。

命令行管理工具 sqlcmd 也有 Linux 版,日常操作足够。想要图形界面,Azure Data Studio 跨平台可用。

生产环境的真实反馈

我接触过几个在 Linux 上跑 SQL Server 的客户,总结下来:

适合的场景:

  • 纯 OLTP 业务,不依赖 SSIS/SSRS
  • 容器化部署、云原生架构
  • 开发测试环境(Docker 秒级部署)
  • 成本敏感,想省 Windows 许可费

不太适合的场景:

  • 重度依赖 SSIS ETL 流程
  • 需要 SSRS 报表服务
  • 现有 Windows FCI 集群不想改架构
  • 运维团队完全没有 Linux 经验

Always On AG 在 Linux 上的配置

高可用方面,Always On 可用性组在 Linux 上完全支持,但底层机制不同:

  • Windows 用 WSFC(Windows Server Failover Clustering)
  • Linux 用 Pacemaker + Corosync

配置思路类似,但命令和配置文件不一样。需要单独学习 Pacemaker 的资源管理和故障切换逻辑。

课程覆盖双平台

ora100.com 的 SQL Server 30 天课程,Module 01(Day 1-5)同时覆盖 Linux 和 Windows 两条安装线:

  • Day 1:SQL Server 2022 Linux 安装与初始化(CentOS/Ubuntu/Docker)
  • Day 2:SQL Server Windows 安装与实例配置
  • Day 3:配置管理与服务器属性(两个平台的差异对比)
  • Day 4:安全认证与登录管理
  • Day 5:SSMS、Azure Data Studio 与 sqlcmd 工具使用

不管你的生产环境是 Windows 还是 Linux,或者两者都有,课程都能覆盖到。

2026 年了,SQL Server on Linux 不再是尝鲜,而是正经的生产选项。了解它的能力和边界,多一个技术选型的底牌。


群贤毕至

访客