温馨提示×

Ubuntu上SQL Server的备份恢复工具有哪些

小樊
36
2025-12-31 19:10:44
栏目: 云计算

Ubuntu上SQL Server备份恢复工具与方案

一、常用工具总览

工具/方案 类型 主要用途 在Ubuntu上的使用要点
sqlcmd 命令行/T-SQL 完整/差异/日志备份与还原、自动化脚本 安装客户端驱动后用 T-SQL 执行 BACKUP/RESTORE;配合 shell 与 cron 定时
SMO/脚本(如 PowerShell/Python) 编程接口 高级备份策略、企业集成 在外部主机运行,通过连接字符串调用 SMO 执行备份/还原
SQL Server Management Studio(SSMS) 图形化 备份/还原向导、对象级操作 远程连接 Ubuntu 上的 SQL Server 实例进行可视化操作
第三方备份工具(如 Redgate SQL Backup Pro) 商业软件 压缩加密、调度、集中管理 通过客户端/代理连接实例执行备份,适合复杂策略
第三方恢复/修复工具(如 Stellar Repair for MS SQL、SysTools SQL Recovery、Recovery for SQL Server) 数据恢复 .bak/.mdf 损坏修复、对象级提取 多用于故障后的数据挽救,非日常备份工具
自动化脚本 + 远程同步(rclone) 运维方案 备份落地后异地/云端复制 将 .bak 文件用 rclone 同步到对象存储/远端服务器,做离线/异地容灾
以上工具/方案均在实际生产中有落地案例,适用于 Ubuntu 上的 SQL Server 备份与恢复场景。

二、命令行与脚本工具

  • 安装与准备:在 Ubuntu 上安装 Microsoft ODBC 驱动(msodbcsql17)后即可使用 sqlcmd 连接本地或远程实例。
  • 基本备份示例:
    • 完整备份:sqlcmd -S localhost -U SA -P ‘YourPassword’ -Q “BACKUP DATABASE [YourDB] TO DISK=‘/var/opt/mssql/backup/YourDB_full.bak’ WITH FORMAT, COMPRESSION, STATS”
  • 基本还原示例:
    • 直接上线:sqlcmd -S localhost -U SA -P ‘YourPassword’ -Q “RESTORE DATABASE [YourDB] FROM DISK=‘/var/opt/mssql/backup/YourDB_full.bak’ WITH RECOVERY”
    • 配合差异/日志还原:先 WITH NORECOVERY 还原完整/差异,再 WITH RECOVERY 还原日志
  • 自动化:将备份命令写入 Shell 脚本,使用 crontab 定时执行(如每日全备、按日/周差异备、按小时日志备)。

三、图形化与第三方工具

  • SSMS:在 Windows 或跨平台环境下远程连接 Ubuntu 上的 SQL Server,使用“备份/还原数据库”向导执行操作,适合一次性或不太熟悉命令行的场景。
  • 第三方备份工具:如 Redgate SQL Backup Pro,提供压缩、加密、调度、集中化存储等功能,适合企业级备份合规与运维管理。
  • 第三方恢复/修复工具:如 Stellar Repair for MS SQL、SysTools SQL Recovery、Recovery for SQL Server,用于 .bak 或 .mdf/.ndf 损坏时的数据挽救与对象级提取;注意这类工具并非替代常规备份流程。

四、自动化与异地容灾方案

  • 脚本化备份 + 定时任务:用 Shell 封装 BACKUP/RESTORE,cron 负责按策略执行(如每周一/三/六全备、每日差异、每小时日志)。
  • 远程/云端备份:使用 rclone 将 .bak 文件同步到对象存储或远端机房,实现离线/异地副本与快速回滚;可与本地保留策略组合形成多级备份。

五、选型与注意事项

  • 备份策略:根据业务选择 FULL/DIFFERENTIAL/LOG 的组合;日志备份需数据库处于 FULL 或 BULK_LOGGED 恢复模式。
  • 恢复路径:还原顺序通常为“完整备份(NORECOVERY)→ 差异备份(NORECOVERY)→ 日志备份(RECOVERY)”;必要时使用 WITH MOVE 指定新数据/日志文件路径。
  • 安全性:避免在命令行中明文写密码,可使用 SQL Server 身份验证的集成/受控账号、密钥管理或凭据文件;限制备份目录与拷贝通道的访问权限。
  • 验证与演练:定期做 RESTORE VERIFYONLYDBCC CHECKDB,并在测试环境演练恢复流程,确保 RPO/RTO 达标。
  • 版本与兼容性:确认工具与 SQL Server 2017/2019/2022 的兼容性;跨版本还原时关注兼容级别与功能差异。

0