linux 下安装SQL Server

[复制链接]
发表于 2026-10-2 12:18:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

这篇内容面向需要在 Linux 服务器上部署 Microsoft SQL Server 的运维和 DBA 同学,尤其是用 CentOS 7 做企业内网数据库、报表库或测试环境的团队。我会把官方文档里容易漏掉的仓库配置、GPG 密钥、版本选择和 SA 密码策略这些坑,按我自己的实际操作顺序讲清楚,帮你少走弯路,也能作为 ToB 软件选型时评估 SQL Server on Linux 可行性的参考。

核心观点

在 CentOS 7 上装 SQL Server 2019,关键不是 yum install 那一步,而是仓库源和 GPG 密钥要先配好,否则安装会卡在依赖或签名校验上。装完之后必须用 mssql-conf setup 做初始化,服务才能正常启动。整个流程对熟悉 Linux 的运维来说半小时内能跑通,但版本和密码策略一旦选错,后面改起来比较麻烦。

装之前先把仓库和密钥搞定

很多人一上来直接 yum install mssql-server,结果报找不到包,就是因为系统里没有微软的仓库。先把系统更新到最新,再添加仓库文件。

更新系统(这一步不是可选项,CentOS 7 的旧包有时会和 mssql-server 的依赖冲突):

sudo yum update -y

添加 SQL Server 2019 和 Microsoft 产品仓库。注意路径里的 rhel/7 对应的是 RHEL 7 系,CentOS 7 通用:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
sudo curl -o /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

手动导入微软的 GPG 密钥,避免安装时签名校验失败:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

顺带说一句,如果你公司有内网镜像或代理,curl 这一步可能拉不到外网,需要提前配好 yum 代理,否则会一直超时。这是我在客户内网环境里踩过的坑。

适用场景:什么情况下值得在 Linux 上跑 SQL Server

  • 已有 Linux 运维体系:团队不想为了一套数据库再维护 Windows Server 授权和补丁,SQL Server on Linux 能复用现有运维流程。
  • 成本敏感的项目:相比 Windows 版,Linux 版省掉了 Windows Server 授权这块开销,适合预算有限的内部系统。
  • 混合环境:应用跑在 Linux 容器里,数据库也想放到同一套编排体系下,减少跨平台调用。
  • 不建议的场景:依赖 Windows 特有的 SSIS、SSRS、复制代理等组件的项目,Linux 版支持有限,选型时要提前确认功能清单。

安装与初始化步骤

仓库配好之后,安装本身很快:

sudo yum install -y mssql-server

接着做初始化配置,这一步会交互式问你选版本(Developer / Express / Standard / Enterprise)、接受 EULA、设置 SA 密码:

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

选版本时注意,Developer 版功能全但仅限开发和测试,生产环境用要看清授权条款;Express 免费但有 10GB 单库上限。SA 密码有复杂度要求(大小写字母、数字、符号至少各一类,长度够),设太简单会直接拒绝。

启动并设置开机自启:

sudo systemctl start mssql-server
sudo systemctl enable mssql-server

确认服务状态:

systemctl status mssql-server

看到 active (running) 才算真正起来。如果状态是 failed,八成是 SA 密码没通过策略或者内存不足——SQL Server 对内存有最低要求,小内存 VPS 上容易起不来,这点在选服务器规格时要留意。

关于 mssql-tools(sqlcmd 和 bcp)

原文提到要装 mssql-tools,也就是 sqlcmd 和 bcp 这两个命令行工具。它们不在 mssql-server 包里,需要单独从 prod 仓库装(前面已经配好了 microsoft-prod.repo)。装好之后你才能用命令行连数据库、跑脚本、做批量导入导出。对自动化运维和 CI 流程来说,这两个工具是刚需。

关键信息

  • 目标系统:CentOS 7(RHEL 7 系),安装的是 SQL Server 2019 仓库版本。
  • 必配两个仓库:mssql-server-2019.repo 和 prod.repo,缺一不可。
  • 初始化命令是 /opt/mssql/bin/mssql-conf setup,负责选版本、接受 EULA、设 SA 密码。
  • 服务管理用 systemd:systemctl start/enable/status mssql-server。
  • mssql-tools 提供 sqlcmd 和 bcp,需从 prod 仓库单独安装。

选型与风险提示

把 SQL Server 放到 Linux 上,选型阶段有几件事值得提前确认:一是功能边界,Linux 版和 Windows 版不是完全等价,跨平台复制、部分高可用特性支持情况不同;二是运维习惯,团队里如果没人熟 Linux,出问题时排查成本会更高;三是备份和监控监控方案,原有的 Windows 工具链不一定能直接用。这些不是安装层面的问题,但直接决定项目能不能长期跑下去。

qidao123.com企服评测-应用市场 编辑提示

本文的安装步骤针对 CentOS 7 + SQL Server 2019,其他发行版或版本仓库路径会不同,请对照微软官方文档确认。选型时别只看能不能装上,更要评估功能支持和长期运维成本。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表