温馨提示×

SQL Server在Ubuntu上如何进行版本升级

小樊
31
2025-12-14 03:48:15
栏目: 云计算

Ubuntu 上 SQL Server 版本升级指南

一 升级前准备

  • 备份与停机窗口:对全部业务库执行完整备份(全备+日志备份),选择低峰时段操作,并准备回滚方案。

  • 系统与版本核对:确认当前 Ubuntu 版本与拟升级的 SQL Server 版本受支持,并满足最低资源要求(至少 2 GB 内存)。下表为主要受支持组合(仅列 LTS 与稳定版):

    SQL Server 版本 受支持的 Ubuntu 版本
    2019 (15.x) 18.04 LTS
    2022 (16.x) 20.04 LTS、22.04 LTS
    2025 (17.x) Preview 22.04 LTS24.04 LTS 为预览支持(仅 180 天 Enterprise Evaluation

    如计划跨主版本(如 2019 → 2022/2025),务必先在测试环境验证应用与驱动兼容性。另请确保 sa 密码符合策略:至少 8 个字符,包含大小写字母、数字、符号中至少 3 类,最长 128 个字符。

二 就地升级步骤(同主版本内小版本升级)

  • 更新系统软件源并就地升级 mssql-server 包:
    • 执行:sudo apt update && sudo apt upgrade -y mssql-server
  • 重启服务并验证:
    • 执行:sudo systemctl restart mssql-server
    • 执行:sudo systemctl status mssql-server --no-pager
  • 连接验证(示例):sqlcmd -S localhost -U SA -P '<YourStrong!Passw0rd>' -Q "SELECT @@VERSION, SERVERPROPERTY('ProductLevel')"
    说明:就地升级会保留现有数据与配置,仅替换二进制与内部组件。升级过程中保持网络与存储稳定,避免中断。

三 跨主版本升级(如 2019 → 2022/2025)

  • 准备与评估:完成全量备份与兼容性评估;如需跨主版本,建议先在测试环境演练。
  • 调整 APT 源指向目标版本仓库(示例为 Ubuntu 20.04,请按实际系统替换):
    • 导入 GPG 密钥:wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    • 注册目标版本仓库(以 2022 为例):sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
  • 执行升级:
    • 更新索引:sudo apt update
    • 安装目标版本包:sudo apt install -y mssql-server
    • 如提示重新配置,运行:sudo /opt/mssql/bin/mssql-conf setup,按需选择版本与启用 SQL Server Agent,并设置 sa 密码(满足复杂度要求)。
  • 重启与验证:
    • 重启:sudo systemctl restart mssql-server
    • 状态与版本校验:sudo systemctl status mssql-server --no-pagersqlcmd 查询 @@VERSION/ProductLevel
      说明:跨主版本升级会替换核心组件,通常保留数据库文件与用户数据,但强烈建议事前完整备份与回滚预案。

四 常见问题与验证

  • 依赖问题处理:若遇到缺库(如 liblber-2.4.so.2libssl1.1 等),按需安装对应依赖后重试升级:
    • 示例:sudo apt install libldap-2.4-2 libssl1.1
  • 远程连接与防火墙:确认 1433 端口已放行(如使用 UFW:sudo ufw allow 1433/tcp)。
  • 升级后验证清单:
    • 服务状态:sudo systemctl status mssql-server --no-pager
    • 错误日志:sudo journalctl -u mssql-server -n 100 --no-pager
    • 版本与补丁级别:sqlcmd -S localhost -U SA -P '<pwd>' -Q "SELECT @@VERSION, SERVERPROPERTY('ProductLevel')"
      若升级失败,可利用备份回滚,或切回旧版本仓库后重装对应 mssql-server 包并恢复数据。

0