在 Ubuntu 上安装 Microsoft SQL Server 的步骤如下。请注意,SQL Server 目前主要支持 Ubuntu 20.04 和 Ubuntu 22.04(部分版本也支持 18.04,但建议优先使用较新版本)。
✅ 前提条件
- 腾讯云 Ubuntu 实例(推荐 20.04 或 22.04)
- 至少 2GB 内存(生产环境建议 ≥4GB)
- 具有
sudo权限的用户 - 开放防火墙端口 1433(默认 SQL Server 端口)
📦 安装步骤
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 导入 Microsoft GPG 密钥
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/msft.asc
3. 添加 SQL Server 软件源
根据你使用的 Ubuntu 版本选择对应命令:
Ubuntu 22.04:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)"
Ubuntu 20.04:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
如果你需要安装 SQL Server 2019,将上述 URL 中的
mssql-server-2022改为mssql-server-2019。
4. 安装 SQL Server
sudo apt update
sudo apt install -y mssql-server
5. 配置 SQL Server
运行配置脚本并设置 SA 密码(必须包含大小写字母、数字和符号,长度 ≥8):
sudo /opt/mssql/bin/mssql-conf setup
交互式提示中:
- 选择许可证条款(输入
Yes) - 选择版本(如 Developer、Enterprise 等,开发测试可用
Developer) - 设置强密码作为 SA 账户密码
6. 验证服务状态
systemctl status mssql-server --no-pager
应显示 active (running)。
7. 允许远程连接(可选)
如果需要通过外部工具(如 SSMS、DBeaver)连接,需确保腾讯云安全组和本地防火墙允许 TCP 1433 端口。
检查并启用防火墙规则(如使用 ufw):
sudo ufw allow 1433/tcp
sudo ufw reload
8. 安装命令行工具(sqlcmd)——用于测试连接
# 导入 sqlcmd 的 GPG 密钥
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/msft.asc
# 添加 sqlcmd 源(以 Ubuntu 22.04 为例)
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/prod.list)"
# 更新并安装
sudo apt update
sudo apt install -y mssql-tools unixodbc-dev
注意:需要将
mssql-tools添加到 PATH 环境变量中,方便直接使用:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
9. 测试连接
sqlcmd -S localhost -U SA -P '<你的SA密码>'
成功进入 SQL 命令行后,可执行:
SELECT @@VERSION;
GO
退出输入:
EXIT
🔒 安全建议
- 修改默认 SA 密码(如果初始设置不够复杂)
- 禁用 TCP/IP 以外的协议(除非必要)
- 定期更新 SQL Server:
sudo apt update && sudo apt upgrade mssql-server - 启用审计日志(企业版功能)
- 考虑使用 VNet 集成或私有 IP 访问,避免公网暴露 1433 端口
❗ 常见问题
| 问题 | 解决方案 |
|---|---|
| 安装失败提示依赖缺失 | 运行 sudo apt install -f 修复依赖 |
| 无法远程连接 | 检查腾讯云安全组 + 服务器防火墙是否开放 1433 |
| SA 密码不符合要求 | 密码需含大写、小写、数字、特殊字符,≥8 位 |
| 内存不足导致启动失败 | 至少保证 2GB 可用内存,建议 4GB+ |
如需进一步帮助(如配置高可用、备份策略、与 .NET/Python 集成等),欢迎继续提问!
云服务器