Linux 上安装 SQL Server 实操指南
一 支持平台与系统要求
- 支持发行版与版本:RHEL 9.x、SLES v15(SP5+)、Ubuntu 22.04、以及 Docker 引擎 1.8+;同时支持在 OpenShift/Kubernetes 中部署容器化 SQL Server。
- 硬件与系统:内存至少 2 GB(启动所需,设置最大内存需考虑该占用)、磁盘空间 6 GB、处理器 2 GHz+、2 核、仅 x64。
- 文件系统:仅支持 XFS 或 ext4(不支持 BTRFS 等)。
- 远程存储(NFS):生产环境需 NFS v4.2+,且仅将 /var/opt/mssql 放在 NFS 上。
二 安装步骤
-
RHEL/CentOS(以 RHEL 9 为例)
- 添加 Microsoft 仓库(CU 仓库):
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo
- 安装包:
sudo yum install -y mssql-server
- 初始化配置(选择版本并设置 sa 密码):
sudo /opt/mssql/bin/mssql-conf setup
- 启动与自启:
sudo systemctl start mssql-server && sudo systemctl enable mssql-server
- 验证状态:
systemctl status mssql-server --no-pager
-
Ubuntu(以 22.04 为例)
- 导入 GPG 密钥:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
- 添加仓库(示例为 2022,可按需替换为 2019/2025):
sudo add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)”
- 安装包:
sudo apt-get update && sudo apt-get install -y mssql-server
- 初始化配置:
sudo /opt/mssql/bin/mssql-conf setup
- 验证状态:
systemctl status mssql-server --no-pager
-
SLES(以 v15 为例)
- 添加仓库(CU 仓库):
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2022.repo
- 导入 GPG 密钥:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
- 安装包:
sudo zypper install -y mssql-server
- 初始化配置:
sudo /opt/mssql/bin/mssql-conf setup
- 启动与自启:
sudo systemctl start mssql-server && sudo systemctl enable mssql-server
- 验证状态:
systemctl status mssql-server --no-pager
-
Docker(跨发行版)
- 拉取并运行容器(示例映射 1433 端口):
docker run -e “ACCEPT_EULA=Y” -e “MSSQL_SA_PASSWORD=YourStrong@Passw0rd”
-p 1433:1433 --name sql1
-d mcr.microsoft.com/mssql/server:2022-latest
三 远程连接与防火墙
- 默认监听端口:1433/TCP。
- firewalld(RHEL/CentOS):
sudo firewall-cmd --permanent --add-port=1433/tcp && sudo firewall-cmd --reload
- ufw(Ubuntu):
sudo ufw allow 1433/tcp
- 云服务器安全组:放行 1433/TCP 入方向(如 ECS 安全组规则)。
四 安装后配置与常用操作
- 连接与验证版本:
- 安装命令行工具(sqlcmd/bcp):参考微软官方安装指南。
- 连接并查询:
sqlcmd -S localhost -U sa -P ‘YourStrongPassword’ -Q “SELECT @@VERSION”
- 更新与升级:
- RHEL:sudo yum update mssql-server
- SLES:sudo zypper update mssql-server
- Ubuntu:sudo apt-get update && sudo apt-get install mssql-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>
- 卸载:
- RHEL:sudo yum remove mssql-server
- SLES:sudo zypper remove mssql-server
- Ubuntu:sudo apt-get remove mssql-server
五 常见问题与提示
- 密码策略:sa 密码至少 8 个字符,且需包含大小写字母、数字、符号中至少 3 种,最长 128 个字符。
- 文件系统:仅 XFS/ext4 受支持,避免使用 BTRFS。
- 远程访问:确认云安全组/本机防火墙已放行 1433/TCP,并使用正确主机与端口连接。
- 版本选择:免费许可包含 Evaluation/Developer/Express;生产环境请选择相应付费许可或合规的免费版本。