You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16 LTS上MSSQL无法启动且更新失败(报404错误)

解决Ubuntu 16 LTS安全更新后MSSQL-server无法启动/更新的404问题

嗨,我2018年的时候也碰到过几乎一模一样的问题——Ubuntu安全更新后MSSQL出状况,那些404错误基本就是包源访问失败的信号。咱们一步步来排查修复:

第一步:检查MSSQL的软件源配置

首先,404错误大概率是包源地址失效或者被修改了,先查看当前的MSSQL源文件:

cat /etc/apt/sources.list.d/mssql-server.list

你应该会看到类似这样的条目:

deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server xenial main

可以在服务器上用curl -I https://packages.microsoft.com/ubuntu/16.04/mssql-server测试这个地址是否能正常访问,如果返回404,说明源地址确实失效了。

第二步:修复MSSQL源配置

如果源地址失效,咱们重新添加正确的源:

  1. 先备份旧的源文件,避免后续出问题:
sudo mv /etc/apt/sources.list.d/mssql-server.list /etc/apt/sources.list.d/mssql-server.list.bak
  1. 导入微软的GPG密钥,确保后续安装的包是合法的:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  1. 添加适配Ubuntu 16.04的MSSQL官方源:
echo "deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server xenial main" | sudo tee /etc/apt/sources.list.d/mssql-server.list

第三步:更新包缓存并重新安装MSSQL

现在更新系统的包缓存,然后重新安装MSSQL-server:

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

如果这一步还是报错404,得检查服务器的防火墙或者代理设置——安全更新可能自动调整了防火墙规则,临时关闭防火墙测试一下(sudo ufw disable),或者确认代理配置是否正确指向了能访问微软源的地址。

第四步:修复MSSQL启动问题

如果更新完成后还是无法启动,先查看更详细的错误日志,找找具体原因:

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

如果日志里显示依赖缺失或者文件损坏,尝试重新配置MSSQL:

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

按照提示重新设置SA密码和对应的版本,完成后再启动服务:

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

额外排查点

  • 安全更新可能意外修改了MSSQL数据目录的权限,检查一下权限是否正确:
sudo chown -R mssql:mssql /var/opt/mssql
sudo chmod -R 700 /var/opt/mssql
  • 确认系统内核版本是否兼容,Ubuntu 16.04的安全更新可能升级了内核,部分旧版MSSQL对特定内核版本有要求,你可以尝试重启服务器后再测试启动MSSQL服务。

内容的提问来源于stack exchange,提问作者jimmont

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:28:49