温馨提示×

SQL Server在Ubuntu上的更新与维护指南

小樊
38
2025-11-22 11:53:30
栏目: 云计算

Ubuntu 上 SQL Server 的更新与维护指南

一 更新前准备

  • 备份与验证:对所有关键数据库执行完整备份,并验证可恢复性;如条件允许,在测试环境完成升级演练。
  • 维护窗口与变更记录:选择业务低峰期,提前通知业务方并记录变更步骤与回退方案。
  • 系统与仓库核对:确认 Ubuntu 版本受支持(SQL Server 2019 支持 Ubuntu 20.04;SQL Server 2022 支持 Ubuntu 20.04/22.04),并确保已导入 Microsoft GPG 公钥、配置了正确的 Microsoft SQL Server 仓库;若曾安装 CTP/RC 版本,需先移除旧仓库以避免冲突。
  • 服务与连接:确认具备 sudo 权限,了解如何启动/停止服务与开放防火墙端口(默认 1433/TCP)。

二 补丁与版本升级

  • 就地小版本升级(推荐):在支持的 Ubuntu 版本上,通过 APT 执行以下命令即可完成 SQL Server 小版本与安全补丁升级:
    1. 备份数据库;2) 执行:sudo apt-get update && sudo apt-get install -y mssql-server;3) 验证服务:systemctl status mssql-server --no-pager;4) 连接实例核验版本与补丁级别。
  • 跨版本升级(如 2019 → 2022):先备份,再移除旧版本仓库,导入新版本仓库(对应目标 Ubuntu 版本),执行 sudo apt-get update && sudo apt-get install -y mssql-server,随后运行 sudo /opt/mssql/bin/mssql-conf setup 完成配置,最后重启并验证。
  • 回退策略:跨版本升级前保留现有仓库与安装包,出现异常时优先回滚至升级前快照/备份,再恢复仓库与版本。

三 日常维护清单

  • 备份策略:制定并执行定期备份(如每日完整 + 每小时日志),定期校验备份可用性与保留周期。
  • 统计信息与索引:定期更新统计信息(UPDATE STATISTICS)并重建/重组碎片化严重的索引,保持查询性能稳定。
  • 磁盘与空间:监控数据/日志文件所在磁盘使用率,及时扩容或清理无用文件。
  • 安全与合规:定期更换 SA 密码,仅开放必要端口与来源 IP,及时应用 OSSQL Server 安全补丁。
  • 代理作业:如需定时任务(备份、清理等),启用 SQL Server Agent:sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true && sudo systemctl restart mssql-server

四 常用维护命令速查

  • 服务管理:
    • 查看状态:systemctl status mssql-server --no-pager
    • 重启:sudo systemctl restart mssql-server
  • 备份与还原:
    • 备份:sqlcmd -S localhost -E -Q “BACKUP DATABASE [YourDatabaseName] TO DISK = ‘/path/backup.bak’”
  • 配置调整:
    • 启用代理:sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    • 调整默认数据/日志目录:
      sudo mkdir -p /home/d/mssql/data
      sudo chown mssql:mssql /home/d/mssql/data
      sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /home/d/mssql/data
      sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /home/d/mssql/data
      sudo systemctl restart mssql-server
  • 防火墙:sudo ufw allow 1433/tcp
  • 版本核验:连接实例后执行 SELECT @@VERSION 与 @@PACKAGEVERSION 查看版本与补丁级别。

五 常见问题与排错

  • 依赖缺失(示例):
    • 报错 “error while loading shared libraries: liblber-2.4.so.2”:安装对应版本的 libldap-2.4-2 包后重试。
    • 报错 “error while loading shared libraries: libssl1.1”:安装对应版本的 libssl1.1 包后重试。
  • 仓库冲突:曾安装 CTP/RC 版本未移除旧仓库会导致安装/升级失败,需先移除旧仓库再添加正确仓库。
  • 连接与端口:远程无法连接时,确认 ufw/云安全组 已放行 1433/TCP,实例监听正常且应用连接字符串正确。

0