温馨提示×

ubuntu sqlserver为何启动失败

小樊
38
2026-09-03 17:35:13
栏目: 云计算

在 Ubuntu 上 SQL Server(mssql-server)启动失败 的原因比较常见,通常可以归纳为以下几类。我先从最常见原因讲起,再给你排查步骤


一、最常见原因(90% 问题在这里)

1️⃣ 内存不足(最常见)

SQL Server 官方要求:

  • 至少 2 GB 内存
  • 推荐 4 GB 以上

如果低于 2 GB,服务会直接退出。

检查内存:

free -h

查看错误日志:

cat /var/opt/mssql/log/errorlog

常见报错:

There is insufficient system memory to run this query

✅ 解决:

  • 增加内存
  • 或在虚拟机中分配 ≥2GB

2️⃣ 没有运行 mssql-conf setup

第一次安装后必须初始化:

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

否则 SQL Server 不会启动。


3️⃣ 服务未启动 / 启动方式错误

正确方式:

sudo systemctl start mssql-server
sudo systemctl status mssql-server

❌ 不要直接用 ./sqlservr


二、权限问题

4️⃣ /var/opt/mssql 权限错误

SQL Server 必须以 mssql 用户运行。

检查:

ls -ld /var/opt/mssql

修复:

sudo chown -R mssql:mssql /var/opt/mssql

三、系统兼容性问题

5️⃣ Ubuntu 版本不支持

支持版本(示例):

  • Ubuntu 20.04 ✅
  • Ubuntu 22.04 ✅
  • Ubuntu 24.04 ❌(部分版本不支持)

查看系统:

lsb_release -a

6️⃣ 缺少依赖库

sudo apt update
sudo apt install -y mssql-server

依赖问题日志示例:

error while loading shared libraries

四、端口 / 防火墙

7️⃣ 1433 端口被占用

sudo netstat -tulnp | grep 1433

五、快速排查流程(建议你照做)

# 1. 查看状态
systemctl status mssql-server

# 2. 看日志(最重要)
cat /var/opt/mssql/log/errorlog

# 3. 看内存
free -h

# 4. 看权限
ls -ld /var/opt/mssql

六、如果你愿意,我可以精确定位

你可以直接把下面内容贴出来,我帮你分析:

  1. systemctl status mssql-server 输出
  2. /var/opt/mssql/log/errorlog 最后 30 行
  3. Ubuntu 版本
  4. 是不是虚拟机 / 云服务器

我可以一步到位告诉你具体怎么修

0