在 Debian 系统下升级 Microsoft SQL Server(mssql-server)通常分为 同一大版本内的小版本升级(补丁/累积更新) 和 跨大版本升级(如 2019 → 2022)。下面分别说明。
sqlcmd -S localhost -U sa -Q "BACKUP DATABASE [数据库名] TO DISK='/var/opt/mssql/backup/db.bak'"
或直接备份整个 /var/opt/mssql 目录。
sqlcmd -S localhost -U sa -Q "SELECT @@VERSION"
或
apt list --installed | grep mssql-server
cat /etc/debian_version
SQL Server 支持的 Debian 版本有限(通常是 Debian 10/11/12)。
例如:SQL Server 2019 CU10 → CU18
sudo apt update
sudo apt install mssql-server
或
sudo apt upgrade mssql-server
sudo systemctl restart mssql-server
sqlcmd -S localhost -U sa -Q "SELECT @@VERSION"
✅ 不需要重新运行 mssql-conf setup
⚠️ 不支持“直接 in-place 大版本升级”,官方推荐方式是:
sqlpackage / bcp 迁移数据sudo systemctl stop mssql-server
sudo apt remove mssql-server
sudo apt autoremove
然后:
sudo curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/debian/12/mssql-server-2022.list)"
sudo apt update
sudo apt install mssql-server
sudo /opt/mssql/bin/mssql-conf setup
⚠️ 注意:
/var/opt/mssql检查源是否正确:
cat /etc/apt/sources.list.d/mssql-server.list
Debian 12 示例:
deb [arch=amd64] https://packages.microsoft.com/debian/12/mssql-server-2022 main
查看日志:
journalctl -u mssql-server -n 100
或
cat /var/opt/mssql/log/errorlog
如果你能告诉我:
我可以给你精确到命令的升级方案。