温馨提示×

Ubuntu下SQL Server的更新和维护怎么做

小樊
37
2025-12-22 01:16:10
栏目: 云计算

Ubuntu下 SQL Server 的更新与维护实操指南

一 更新与升级流程

  • 备份与变更窗口
    • 对所有关键数据库执行完整备份,并保留可用的差异日志备份;在业务低峰期执行,准备回滚方案。
  • 系统与仓库准备
    • 更新系统包索引并升级系统组件:sudo apt update && sudo apt upgrade -y
    • 导入 Microsoft GPG 密钥:wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    • 注册对应版本的 SQL Server 仓库(示例为 Ubuntu 20.04):
      • SQL Server 2022sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
      • SQL Server 2019sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
  • 执行更新
    • 标准更新(同版本累积更新/补丁):sudo apt-get update && sudo apt-get install -y mssql-server
    • 跨版本升级(如 2019 → 2022):先确保已切换到目标版本的仓库,再执行:sudo apt-get update && sudo apt-get install -y mssql-server
  • 重启与验证
    • 重启服务:sudo systemctl restart mssql-server
    • 验证运行状态:systemctl status mssql-server --no-pager
    • 验证版本与补丁级别(示例):sqlcmd -S localhost -E -Q "SELECT @@VERSION, SERVERPROPERTY('ProductLevel')"

二 日常维护要点

  • 备份策略
    • 定期执行完整备份,并按业务 RPO/RTO 配置差异日志备份;可用 SSMS 或 sqlcmd 执行,例如:sqlcmd -S localhost -E -Q "BACKUP DATABASE [YourDB] TO DISK = N'/var/opt/mssql/backup/YourDB.bak' WITH INIT, COMPRESSION"
  • 作业与代理
    • 启用 SQL Server 代理:sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true && sudo systemctl restart mssql-server
  • 统计信息与空间
    • 更新统计信息:UPDATE STATISTICS [Schema].[Table];
    • 监控数据/日志文件所在磁盘空间,必要时扩容或清理。
  • 安全与访问控制
    • 定期更换 SA 密码,限制远程连接,仅放通必要来源 IP;在防火墙放通 1433/TCPsudo ufw allow 1433 && sudo ufw enable
  • 配置与目录
    • 调整内存、进程数等参数:sudo /opt/mssql/bin/mssql-conf set <property> <value>
    • 迁移默认数据/日志目录(示例):
      • 创建目录并赋权: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 systemctl start|stop|restart mssql-server
    • 查看状态:systemctl status mssql-server --no-pager
  • 依赖缺失
    • 常见缺失库:libldap-2.4-2libssl1.1(按需安装对应版本)
  • 连接与端口
    • 无法远程连接时,确认防火墙已放行 1433/TCP,并确保客户端指向正确的主机与端口。

四 实践建议

  • 变更前务必完成全量备份回滚预案,并在测试环境验证;更新后第一时间进行版本与补丁级别校验
  • 为关键库配置自动化备份作业(完整+差异+日志),并定期演练恢复流程以验证可用性。
  • 将 SQL Server 代理用于日常维护任务(备份、统计信息更新、索引维护等),减少人工操作风险。
  • 关注系统与 SQL Server 的安全补丁周期,及时应用;对升级操作先在非生产环境验证兼容性。

0