温馨提示×

CentOS中SQL Server的备份策略有哪些

小樊
43
2025-11-14 06:24:05
栏目: 云计算

CentOS 上 SQL Server 的备份策略

一 备份类型与适用场景

  • 完整备份 Full:备份整个数据库,是所有恢复的基础点;用于建立可恢复的基线。适用于小型库变更不频繁的场景。
  • 差异备份 Differential:仅备份自上一次完整备份以来更改的数据区;恢复时只需“完整备份 + 最新差异备份”,恢复链路短、速度快。
  • 事务日志备份 Log:仅备份自上一次任何备份(完整/差异/日志)以来的事务日志,支持时间点恢复 PITR;仅在完整/大容量日志恢复模式下可用。
  • 文件/文件组备份 File/Filegroup:针对超大型数据库按文件或文件组分批备份,常与日志备份配合,缩短恢复时间。
  • 部分与部分差异备份 Partial/Partial Differential:面向含只读文件组的数据库,使用 BACKUP 语句的 READ_WRITE_FILEGROUPSDIFFERENTIAL 选项;SSMS 维护计划不支持。
  • 术语说明:SQL Server 官方术语中常用“差异”与“日志”,社区中常把日志备份类比为“增量”。

二 常见策略组合与频率建议

  • 小型数据库(<10GB,RPO 要求低):每日1 次完整备份;恢复简单,最多丢失1 天数据。
  • 中型数据库(10GB~100GB,RPO 中等):每日1 次完整备份 + 每 4 小时 1 次差异备份;恢复快,最多丢失4 小时数据。
  • 大型/核心数据库(>100GB,RPO 高):每周日1 次完整备份 + 每日 1 次差异备份 + 每 15 分钟 1 次事务日志备份;支持分钟级RPO 与 PITR。
  • 超大型/分区设计:按文件组实施完整/差异备份,结合日志备份;仅恢复受损文件组,降低停机时间。
  • 频率需结合业务RTO/RPO变更频率窗口期存储容量综合权衡。

三 在 CentOS 上的实施方法

  • 准备与权限:创建备份目录并设定属主属组为 mssql:mssql,权限 700;确保 SQL Server 服务账户对目录有写入权限。
  • 命令行备份示例(sqlcmd)
    • 完整备份:sqlcmd -S localhost -U SA -P '<pwd>' -Q "BACKUP DATABASE [YourDB] TO DISK = N'/var/opt/mssql/backups/YourDB_$(date +%F_%H%M).bak' WITH COMPRESSION, INIT, STATS = 5;"
    • 差异备份:sqlcmd -S localhost -U SA -P '<pwd>' -Q "BACKUP DATABASE [YourDB] TO DISK = N'/var/opt/mssql/backups/YourDB_$(date +%F_%H%M)_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT, STATS = 5;"
    • 日志备份:sqlcmd -S localhost -U SA -P '<pwd>' -Q "BACKUP LOG [YourDB] TO DISK = N'/var/opt/mssql/backups/YourDB_$(date +%F_%H%M)_Log.trn' WITH COMPRESSION, INIT, STATS = 5;"
  • 自动化与保留:使用 crontab 调度脚本;定期清理过期备份,例如:0 2 * * * find /var/opt/mssql/backups/ -name "*.bak" -mtime +30 -delete;建议对备份文件做定期恢复演练与校验

四 恢复流程与关键注意事项

  • 恢复顺序与要点
    • 时间点恢复:RESTORE DATABASE [DB] FROM DISK='...Full.bak' WITH NORECOVERY; →(如有)RESTORE DATABASE [DB] FROM DISK='...Diff.bak' WITH NORECOVERY; → 按顺序 RESTORE LOG [DB] FROM DISK='...Log.trn' WITH NORECOVERY;RESTORE DATABASE [DB] WITH RECOVERY;(恢复到指定时间可在最后一条 LOG 使用 WITH STOPAT='2025-11-14 10:00:00')。
  • 恢复模式:需为完整大容量日志恢复模式才可进行日志备份;在简单恢复模式下日志会自动截断,无法做日志备份。
  • 备份链完整性:避免多次全量打断日志链;如确需不影响链的全备,可使用COPY_ONLY(维护计划图形界面不直接支持,建议 T‑SQL)。
  • 校验与监控:定期执行 RESTORE VERIFYONLY 校验备份可用性;监控备份作业日志与磁盘空间,及时告警。
  • 安全与合规:对含敏感数据的备份启用加密访问控制;保留策略与合规要求保持一致。

0