温馨提示×

ubuntu下sqlserver如何升版

小樊
39
2026-09-30 23:00:56
栏目: 云计算

在 Ubuntu 下对 Microsoft SQL Server (mssql-server) 进行升版(例如从 2019 升级到 2022,或同大版本内小版本更新),一般步骤如下。


一、升级前准备(非常重要)

1. 备份数据库

sudo -u mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [数据库名] TO DISK='/var/opt/mssql/backup/db.bak'"

或对整个实例做系统级备份:

sudo cp -r /var/opt/mssql /var/opt/mssql_backup

2. 查看当前版本

sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"

3. 确认 Ubuntu 版本支持目标 SQL Server 版本

  • SQL Server 2019:Ubuntu 16.04 / 18.04 / 20.04
  • SQL Server 2022:Ubuntu 20.04 / 22.04

二、同版本内小版本升级(如 2019 CU 更新)

1. 更新 apt 源

sudo apt update

2. 升级 mssql-server

sudo apt install mssql-server

3. 重启服务

sudo systemctl restart mssql-server

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

方式一:原地升级(推荐,数据保留)

1. 添加新版本源(以 2022 为例)

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)"

2. 更新并升级

sudo apt update
sudo apt install mssql-server

安装程序会检测旧版本并自动升级数据库文件

3. 验证

sqlcmd -S localhost -U SA -Q "SELECT @@VERSION"

方式二:新机安装 + 迁移(最安全)

  1. 新服务器安装目标版本 SQL Server
  2. 使用 bcp / sqlpackage / 备份还原迁移数据
  3. 切换应用连接

四、升级后检查

sudo systemctl status mssql-server

检查数据库兼容性级别:

SELECT name, compatibility_level FROM sys.databases;

如需提升:

ALTER DATABASE [数据库名] SET COMPATIBILITY_LEVEL = 160;

五、常见注意事项

  • SA 密码不变
  • 升级不会删除数据
  • 不支持降级(高版本 → 低版本)
  • 容器部署需使用 docker pull mcr.microsoft.com/mssql/server:2022-latest

如果你能告诉我:

  • 当前 SQL Server 版本
  • Ubuntu 版本
  • 是否容器部署

我可以给你精确命令。

0 踩