在 Debian 上运行 SQL Server(Microsoft SQL Server on Linux) 时,出现错误的原因很多。下面按常见场景 + 修复思路给你一个系统性的排错与修复指南。
systemctl status mssql-server
如果没启动:
systemctl start mssql-server
cat /var/opt/mssql/log/errorlog
常见错误都能在这里看到,例如:
可能原因
/var/opt/mssql 权限错误修复
df -h
free -m
修复权限:
sudo chown -R mssql:mssql /var/opt/mssql
sudo chmod -R 755 /var/opt/mssql
重启:
systemctl restart mssql-server
检查端口
ss -lntp | grep 1433
防火墙(Debian 常用 nftables / ufw)
ufw allow 1433/tcp
或:
iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
确认监听地址
/opt/mssql/bin/mssql-conf set network.ipaddress 0.0.0.0
systemctl restart mssql-server
重置 SA 密码:
sudo /opt/mssql/bin/mssql-conf setup
或:
systemctl stop mssql-server
sudo /opt/mssql/bin/mssql-conf set-sa-password
systemctl start mssql-server
常见错误:
SQL Server needs at least 2 GB of memory
解决:
/opt/mssql/bin/mssql-conf set memory.memorylimitmb 2048
进入单用户模式:
systemctl stop mssql-server
/opt/mssql/bin/sqlservr -m
然后用 sqlcmd:
DBCC CHECKDB ('数据库名') REPAIR_ALLOW_DATA_LOSS;
⚠️ 有数据丢失风险,谨慎使用
如果配置彻底损坏:
systemctl stop mssql-server
apt remove mssql-server -y
rm -rf /var/opt/mssql
apt install mssql-server -y
/opt/mssql/bin/mssql-conf setup
apt install -y libldap-2.4-2 libssl1.1
你可以直接贴出:
/var/opt/mssql/log/errorlog 片段systemctl status mssql-server 输出我可以逐条帮你定位并修复。