努力
加油

腾讯云轻量服务器Linux系统怎么安装SQL Server?

首先得纠正一个核心误区:在 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. 选择版本:通常选 1 (Evaluation) 免费试用,或者付费版。个人学习无所谓。
  2. 设置 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

如果连不上,排查顺序:

  1. 检查腾讯云控制台防火墙是否放行了 1433。
  2. 检查服务器内部防火墙是否放行。
  3. 检查 mssql-server 服务是否在运行。
  4. 检查是否有安全组拦截(部分轻量服务器镜像自带云盾,需确认)。

四、常见问题与避坑指南

  1. 为什么我的轻量服务器装完后内存爆满?
    SQL Server on Linux 默认会占用较多内存。如果服务器配置低,可以在 /var/opt/mssql/mssql.conf 中限制最大内存:

    [memory]
    limitmaxmemoryinmegabytes = 2048

    然后重启服务:sudo systemctl restart mssql-server

  2. 中文乱码问题
    SQL Server on Linux 默认编码可能不是 UTF-8,导致中文显示为问号。建议在创建数据库时明确指定排序规则(Collation),例如:

    CREATE DATABASE MyDB COLLATE Chinese_PRC_CI_AS;
  3. 性能瓶颈
    轻量服务器的磁盘 I/O 和网络带宽是共享的,不适合高并发生产环境。如果只是个人博客、小型项目测试,完全够用。如果需要更高性能,建议升级到 CVM 实例或使用腾讯云专用的云数据库 SQL Server 托管版。

  4. 备份与迁移
    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

这种方式更适合轻量服务器,方便管理且易于清理。