温馨提示×

怎么修复Debian的SQLServer

小樊
40
2026-08-13 23:57:18
栏目: 云计算

修复 Debian 上的 SQL Server(Microsoft SQL Server on Linux),一般分几种常见场景。下面按最常见问题 → 排查 → 修复的思路给你一个完整指南。


一、先确认问题类型(很重要)

请先判断你是哪种情况:

  1. SQL Server 无法启动
  2. 能启动但无法连接
  3. 安装后一直没成功
  4. 升级 / 重启系统后坏了
  5. 数据文件损坏

你可以先执行:

systemctl status mssql-server

把输出结果贴出来,我可以更精确判断。


二、最常见问题 & 修复方法

✅ 1. SQL Server 服务未启动

sudo systemctl status mssql-server

如果看到 inactivefailed

sudo systemctl start mssql-server
sudo systemctl enable mssql-server

如果启动失败,查看日志:

sudo journalctl -u mssql-server -n 50

✅ 2. 内存不足(最常见)

SQL Server 最低要求 2GB 内存,否则会直接退出。

检查内存:

free -h

临时解决(不推荐生产):

  • 关闭其他服务
  • 使用 swap
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

✅ 3. 未正确初始化(mssql-conf)

如果你还没运行过初始化:

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

常见问题:

  • SA 密码不符合复杂度(必须包含大小写 + 数字 + 特殊字符)
  • 选错版本

✅ 4. 端口被占用 / 防火墙

SQL Server 默认端口:1433

检查监听:

sudo ss -lntp | grep 1433

防火墙(如果用 ufw):

sudo ufw allow 1433/tcp

✅ 5. 无法用 SA 登录

测试本地连接:

sqlcmd -S localhost -U SA

如果失败,重置 SA 密码:

sudo /opt/mssql/bin/mssql-conf set-sa-password

三、彻底重装(最稳妥)

⚠️ 会删除系统数据库(master/model/msdb)
⚠️ 不影响你自己放的数据文件,但建议先备份

sudo apt remove mssql-server -y
sudo apt purge mssql-server -y
sudo rm -rf /var/opt/mssql

重新安装:

sudo apt update
sudo apt install mssql-server -y
sudo /opt/mssql/bin/mssql-conf setup

四、数据文件损坏(严重)

如果你看到类似错误:

  • Error: 824
  • Error: 825
  • corrupt database

修复步骤:

  1. 立即停止服务
sudo systemctl stop mssql-server
  1. 备份数据文件
sudo cp -a /var/opt/mssql/data /var/opt/mssql/data.bak
  1. 启动后尝试修复:
DBCC CHECKDB ('数据库名') REPAIR_ALLOW_DATA_LOSS;

⚠️ 会丢数据,生产环境一定要先备份


五、Debian 特别注意事项

SQL Server 官方支持:

  • ✅ Debian 10 / 11
  • ❌ Debian 12(目前不完全支持)

确认版本:

cat /etc/debian_version

六、我可以直接帮你定位(推荐)

你可以直接把下面几条命令的输出发给我:

systemctl status mssql-server
journalctl -u mssql-server -n 50
cat /var/opt/mssql/log/errorlog | tail -n 50
free -h

我可以 精确告诉你哪一步坏了、怎么修,不用重装

0