温馨提示×

ubuntu怎样修复sqlserver

小樊
34
2026-09-25 02:56:40
栏目: 云计算

在 Ubuntu 上“修复 SQL Server”通常取决于具体出了什么问题。下面我按常见场景给你一套从排查到修复的实用指南(适用于 Ubuntu 上的 Microsoft SQL Server (mssql-server))。


一、先确认 SQL Server 是否安装、运行状态

1. 查看服务状态

systemctl status mssql-server

常见问题:

  • active (running) → 服务正常
  • failed / inactive → 服务异常

2. 启动 / 重启服务

sudo systemctl start mssql-server
sudo systemctl restart mssql-server

二、常见故障及修复方法

✅ 场景 1:服务启动失败(最常见)

查看错误日志

sudo cat /var/opt/mssql/log/errorlog

常见原因与解决

1)内存不足(最低 2GB)

free -h

修复:

  • 增加内存
  • 或限制其他进程占用

2)未初始化(新装后没配置)

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

按提示设置:

  • SA 密码
  • 语言(推荐 en_US 或 zh_CN)

✅ 场景 2:忘记 SA 密码

sudo systemctl stop mssql-server
sudo /opt/mssql/bin/mssql-conf set-sa-password
sudo systemctl start mssql-server

或直接重置:

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

✅ 场景 3:无法远程连接

1)确认端口

sudo netstat -tlnp | grep 1433

2)开放防火墙

sudo ufw allow 1433/tcp

3)启用 TCP(一般默认开启)

sudo /opt/mssql/bin/mssql-conf set network.tcpport 1433
sudo systemctl restart mssql-server

✅ 场景 4:数据库文件损坏(严重情况)

1)进入单用户模式

sudo systemctl stop mssql-server
sudo -u mssql /opt/mssql/bin/sqlservr -m

2)连接后执行修复

DBCC CHECKDB ('数据库名') WITH NO_INFOMSGS, ALL_ERRORMSGS;
DBCC CHECKDB ('数据库名', REPAIR_ALLOW_DATA_LOSS);

⚠️ REPAIR_ALLOW_DATA_LOSS 可能丢数据,务必先备份。


✅ 场景 5:完全重装(最后手段)

sudo apt remove mssql-server
sudo rm -rf /var/opt/mssql
sudo apt install mssql-server
sudo /opt/mssql/bin/mssql-conf setup

三、版本与系统要求检查

SQL Server on Linux 支持:

  • Ubuntu 20.04 / 22.04
  • 不支持 Ubuntu 23.04+

检查版本:

lsb_release -a

四、建议你补充的信息(我可以精准帮你)

如果你愿意,可以告诉我:

  1. Ubuntu 版本
  2. SQL Server 版本
  3. 报错信息(最好贴 errorlog)
  4. 是连不上 / 启动不了 / 数据坏了?

我可以直接给你对应的一条龙修复命令。

0 踩