温馨提示×

ubuntu怎么修复sqlserver

小樊
36
2026-10-12 15:45:32
栏目: 云计算

你这个问题比较宽泛,我先按在 Ubuntu 上“修复 SQL Server(Microsoft SQL Server on Linux)”常见场景来给你系统说明。如果你能补充具体现象(起不来 / 连不上 / 数据损坏 / 升级失败),我可以给更精确的命令。


一、先确认 SQL Server 状态

systemctl status mssql-server

常见状态:

  • active (running):服务正常
  • failed:服务启动失败
  • 无输出或找不到:可能没装或已被卸载

查看详细错误:

journalctl -u mssql-server -xe

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

1️⃣ SQL Server 启动失败(最常见)

原因:

  • 内存不足(SQL Server 最少 2GB)
  • /var/opt/mssql 权限问题
  • 配置损坏

修复步骤:

# 停止服务
sudo systemctl stop mssql-server

# 检查内存
free -h

# 修复权限
sudo chown -R mssql:mssql /var/opt/mssql
sudo chmod -R 755 /var/opt/mssql

# 启动
sudo systemctl start mssql-server

2️⃣ 忘记 SA 密码

sudo systemctl stop mssql-server

sudo /opt/mssql/bin/mssql-conf set-sa-password
# 按提示输入新密码

sudo systemctl start mssql-server

3️⃣ 数据库文件损坏(置疑 / suspect)

登录 SQL Server:

sqlcmd -S localhost -U SA

执行:

ALTER DATABASE 数据库名 SET EMERGENCY;
ALTER DATABASE 数据库名 SET SINGLE_USER;
DBCC CHECKDB ('数据库名', REPAIR_ALLOW_DATA_LOSS);
ALTER DATABASE 数据库名 SET MULTI_USER;

⚠️ REPAIR_ALLOW_DATA_LOSS 可能丢数据,仅应急用。


4️⃣ SQL Server 无法远程连接

检查:

sudo ufw allow 1433/tcp

确认监听:

ss -tulnp | grep 1433

配置文件:

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

5️⃣ 升级 / 安装损坏修复

sudo apt update
sudo apt install --reinstall mssql-server

或彻底重装(⚠️会清空数据):

sudo apt purge mssql-server
sudo rm -rf /var/opt/mssql
sudo apt install mssql-server

三、快速自检清单

检查项 命令
服务状态 systemctl status mssql-server
错误日志 journalctl -u mssql-server
数据目录 /var/opt/mssql
版本 sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"

四、你可以这样补充,我给你精准方案

请告诉我:

  1. Ubuntu 版本(22.04 / 20.04?)
  2. SQL Server 版本(2019 / 2022?)
  3. 具体报错(截图或日志)
  4. 是连不上、起不来、还是数据坏了?

我可以直接给你一步一步可复制的命令。

0 踩