首先得纠正一个核心误区:在 Linux 系统上安装 SQL Server,通常指的是微软官方支持的“SQL Server on Linux”版本,而不是 Windows 版的 SQL Server。
腾讯云轻量应用服务器(Lighthouse)虽然性能不错,但它的底层架构和传统 CVM(云服务器)一样,支持多种操作系统镜像。如果你买的是 Linux 镜像(如 Ubuntu, CentOS, Debian),你只能装 SQL Server for Linux。如果你非要装 Windows 版 SQL Server,那你必须选择 Windows 操作系统的镜像,并且注意轻量服务器的配置是否达标(建议至少 4核8G 起步,否则跑不动)。
下面以最常见的场景——在 Linux 系统(以 Ubuntu 20.04/22.04 为例,CentOS 逻辑类似)上安装 SQL Server 2019/2022 为例,给出实操步骤。整个过程不需要图形界面,纯命令行搞定。
一、前置准备:检查资源
SQL Server on Linux 对内存有硬性要求:
- 最低要求:2GB RAM(仅用于开发测试,生产环境绝对不够用)
- 推荐配置:4GB+ RAM
如果你的轻量服务器是 1核2G 或更低,安装过程中可能会因为 OOM(内存溢出)直接崩溃,或者启动失败。建议至少 2核4G。
二、详细安装步骤
1. 导入 Microsoft GPG 密钥
打开终端,依次执行以下命令:
# 下载公钥
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft-prod.gpg
2. 注册 SQL Server 产品存储库
不同发行版命令略有不同,这里以 Ubuntu 为例:
# 添加 SQL Server 2022 的仓库(如果是 2019,把 v2022 改成 v15)
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
注意:如果是 CentOS/RHEL,命令是
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2022.repo,请根据实际系统版本调整。
3. 更新包数据库并安装
sudo apt-get update
sudo apt-get install -y mssql-server
安装过程中会提示接受许可协议,输入 Y 确认即可。
4. 运行配置脚本
安装完成后,必须运行配置脚本来设置 SA 密码和其他参数:
sudo /opt/mssql/bin/mssql-conf setup
关键交互点:
- 选择版本:通常选
1(Evaluation) 免费试用,或者付费版。个人学习无所谓。 - 设置 SA 密码:务必设置一个强密码(包含大小写字母、数字、特殊字符,长度至少 8 位)。这是后续连接数据库的凭证。
5. 验证服务状态
systemctl status mssql-server --no-pager
如果看到 Active: active (running),说明服务已正常启动。
6. 允许防火墙访问(重要!)
腾讯云轻量服务器默认开启了防火墙规则。你需要在腾讯云控制台和系统内部都放行端口。
A. 腾讯云控制台操作:
登录腾讯云 -> 轻量应用服务器 -> 防火墙 -> 添加入站规则:
- 协议:TCP
- 端口:1433
- 来源:0.0.0.0/0(或指定你的 IP)
- 策略:允许
B. 系统内部防火墙(如果开启了 ufw/firewalld):
Ubuntu (ufw):
sudo ufw allow 1433/tcp
sudo ufw reload
CentOS (firewalld):
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
三、远程连接测试
现在你可以从本地电脑使用 SQL Server Management Studio (SSMS) 或其他工具连接了。
- 主机地址:你的腾讯云轻量服务器公网 IP
- 用户名:sa
- 密码:你刚才设置的 SA 密码
- 端口:1433
如果连不上,排查顺序:
- 检查腾讯云控制台防火墙是否放行了 1433。
- 检查服务器内部防火墙是否放行。
- 检查
mssql-server服务是否在运行。 - 检查是否有安全组拦截(部分轻量服务器镜像自带云盾,需确认)。
四、常见问题与避坑指南
-
为什么我的轻量服务器装完后内存爆满?
SQL Server on Linux 默认会占用较多内存。如果服务器配置低,可以在/var/opt/mssql/mssql.conf中限制最大内存:[memory] limitmaxmemoryinmegabytes = 2048然后重启服务:
sudo systemctl restart mssql-server -
中文乱码问题
SQL Server on Linux 默认编码可能不是 UTF-8,导致中文显示为问号。建议在创建数据库时明确指定排序规则(Collation),例如:CREATE DATABASE MyDB COLLATE Chinese_PRC_CI_AS; -
性能瓶颈
轻量服务器的磁盘 I/O 和网络带宽是共享的,不适合高并发生产环境。如果只是个人博客、小型项目测试,完全够用。如果需要更高性能,建议升级到 CVM 实例或使用腾讯云专用的云数据库 SQL Server 托管版。 -
备份与迁移
Linux 版的 SQL Server 数据文件默认位于/var/opt/mssql/data/。定期备份这些文件到 COS(对象存储)是个好习惯,防止服务器重置丢失数据。
总结
在腾讯云轻量服务器上装 SQL Server,本质就是装微软官方的 Linux 版 SQL Server。关键在于:内存够不够、防火墙开没开、SA 密码设没设对。只要这三步走对,基本就能顺利跑起来。
如果你是初学者,建议先用 Docker 方式部署,更简单且隔离性好:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" -p 1433:1433 --name sql1 -h sql1 -d mcr.microsoft.com/mssql/server:2022-latest
这种方式更适合轻量服务器,方便管理且易于清理。
云技术博客