用途:用于 SQL Server 数据库的备份策略设计、还原流程执行和备份完整性校验。
恢复模型:SIMPLE 在检查点时自动截断日志、不支持时间点恢复,适合开发测试;FULL 在日志备份时截断、支持时间点恢复,适合生产;BULK_LOGGED 支持部分时间点恢复,适合批量加载期。切换为 FULL 后必须立即做一次完整备份,否则日志无法备份并会无限增长。可用 sys.databases 查看 recovery_model_desc 与 log_reuse_wait_desc,并用 ALTER DATABASE ... SET RECOVERY FULL/SIMPLE 更改。
主要能力:BACKUP DATABASE 支持完整与 WITH DIFFERENTIAL 差异备份;BACKUP LOG 执行日志备份。常用选项包括 COMPRESSION(显著减小体积)、CHECKSUM、STATS 进度报告和 NAME 名称。可借助 FORMAT(GETDATE()) 生成带时间戳的备份文件名。
还原方式:RESTORE DATABASE 可从完整备份还原并使用 RECOVERY 联机;用 MOVE 迁移到不同位置还原为新库。完整+差异+日志还原时,先以 NORECOVERY 还原完整和差异备份,再按顺序应用各日志备份,最后一次用 RECOVERY 联机。结合 STOPAT 可做时间点还原,需 FULL 恢复模型。
校验与查询:RESTORE VERIFYONLY 配合 CHECKSUM 校验备份可读性;RESTORE HEADERONLY 查看备份头,RESTORE FILELISTONLY 列出备份内文件以便编写 MOVE。msdb.dbo.backupset 与 backupmediafamily 可查询各库最近备份及距上次完整备份的时长。
适用场景与建议:按数据库大小与 RPO 选择策略,如小于 50 GB 可用每日完整加每 4 小时日志;50–500 GB 加每日差异;大于 500 GB 用每周完整、每日差异加高频日志。备份应存放在与数据库不同的磁盘或服务器,定期测试还原,并建议使用 COMPRESSION 和 CHECKSUM。测试还原、备份加密、异地保留与价格等资料暂未提供。