温馨提示×

Debian如何升级SQLServer

小樊
50
2026-07-01 16:39:03
栏目: 云计算

Debian 上升级 Microsoft SQL Server,本质上就是升级官方 Repository 中的 mssql-server 软件包。下面按版本升级(如 2019 → 2022)小版本更新分别说明,并覆盖常见注意事项。


一、升级前准备(强烈建议)

1. 备份数据库

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';

2. 查看当前版本

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

三、跨大版本升级(如 2019 → 2022)

方式对比

方式 推荐度 说明
原地升级(Repository 切换) ✅ 推荐 官方支持
全新安装 + 数据库迁移 ✅ 最安全 生产环境首选
直接安装新版本覆盖 ⚠️ 风险大 不推荐

四、官方推荐:原地升级(Repository 切换)

1. 移除旧版仓库

sudo rm /etc/apt/sources.list.d/mssql-server*.list

2. 添加新版 SQL Server 仓库(示例:2022)

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

3. 更新并升级

sudo apt update
sudo apt upgrade mssql-server

⚠️ 升级过程中会 自动停止服务并升级数据库文件

4. 重启并确认

sudo systemctl restart mssql-server
sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"

五、工具升级(optional)

如果你使用:

sqlcmd / mssql-tools

sudo apt install mssql-tools unixodbc-dev

或升级:

sudo apt upgrade mssql-tools

六、常见问题

1. 升级失败 / 锁文件

sudo dpkg --configure -a
sudo apt -f install

2. 升级后 SA 无法登录

sudo /opt/mssql/bin/mssql-conf set-sa-password

3. 升级后无法启动

查看日志:

journalctl -u mssql-server -xe
cat /var/opt/mssql/log/errorlog

七、生产环境建议

✅ 强烈建议:

  • 先在新机器部署新版 SQL Server
  • 使用 备份 + 还原日志传送
  • 避免直接原地跨大版本升级

八、总结命令速查

# 查看版本
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

如果你愿意,可以告诉我:

  • Debian 版本(10 / 11 / 12)
  • 当前 SQL Server 版本
  • 是否是 生产环境

我可以给你一套完全定向的升级方案

0