在 Debian 上升级 Microsoft SQL Server,本质上就是升级官方 Repository 中的 mssql-server 软件包。下面按版本升级(如 2019 → 2022)和小版本更新分别说明,并覆盖常见注意事项。
sudo systemctl stop mssql-server
sudo cp -r /var/opt/mssql /var/opt/mssql.bak
或用 SQL 备份:
BACKUP DATABASE [dbname] TO DISK = '/var/opt/mssql/backup/dbname.bak';
sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"
或:
apt show mssql-server
✅ 同大版本内的补丁升级(如 CU / security update)
sudo apt update
sudo apt upgrade mssql-server
重启服务:
sudo systemctl restart mssql-server
| 方式 | 推荐度 | 说明 |
|---|---|---|
| 原地升级(Repository 切换) | ✅ 推荐 | 官方支持 |
| 全新安装 + 数据库迁移 | ✅ 最安全 | 生产环境首选 |
| 直接安装新版本覆盖 | ⚠️ 风险大 | 不推荐 |
sudo rm /etc/apt/sources.list.d/mssql-server*.list
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/debian/$(lsb_release -rs)/mssql-server-2022.list)"
如果 add-apt-repository 不可用:
sudo wget -qO /etc/apt/sources.list.d/mssql-server-2022.list \
https://packages.microsoft.com/config/debian/$(lsb_release -rs)/mssql-server-2022.list
sudo apt update
sudo apt upgrade mssql-server
⚠️ 升级过程中会 自动停止服务并升级数据库文件
sudo systemctl restart mssql-server
sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"
如果你使用:
sudo apt install mssql-tools unixodbc-dev
或升级:
sudo apt upgrade mssql-tools
sudo dpkg --configure -a
sudo apt -f install
sudo /opt/mssql/bin/mssql-conf set-sa-password
查看日志:
journalctl -u mssql-server -xe
cat /var/opt/mssql/log/errorlog
✅ 强烈建议:
# 查看版本
sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"
# 小版本升级
sudo apt update && sudo apt upgrade mssql-server
# 跨版本升级(示例 2022)
sudo apt update
sudo apt upgrade mssql-server
sudo systemctl restart mssql-server
如果你愿意,可以告诉我:
我可以给你一套完全定向的升级方案。