You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SQL Server既定备份计划下的备份过期日期配置方法

如何为你的SQL备份计划配置备份过期日期

针对你的SQL备份策略(每2天完整备份、每天差异备份、每15分钟事务日志备份,且已使用带时间戳的唯一文件名),配置备份过期日期可以通过SSMS图形界面或者T-SQL脚本两种方式实现,具体操作如下:

一、用SQL Server Management Studio(SSMS)图形化配置

1. 维护计划中的备份任务设置

如果你的备份是通过维护计划创建的(这是定期备份最常用的管理方式):

  • 打开SSMS,展开左侧的「管理」→「维护计划」,找到你的备份计划右键选择「修改」。
  • 在维护计划设计器里,找到对应的三个备份任务(完整、差异、事务日志),双击打开任务编辑器。
  • 切换到「目标」选项卡,找到「备份集过期时间」区域:
    • 选「之后」并输入天数:比如完整备份可以设14天(覆盖2次完整备份周期),差异备份设7天,事务日志备份设3天(根据你的备份频率和恢复需求调整)。
    • 也可以选「在」,直接指定一个固定的过期日期。
  • 这里要注意:你用了带时间戳的唯一文件名,过期日期是标记备份集的可覆盖状态,和文件名唯一性不冲突——即使文件名不同,过期后旧备份集可以被自动清理或者在需要时覆盖。
  • 保存维护计划,后续的备份作业就会自动应用这个过期设置。

2. SQL Server代理作业中的备份步骤设置

如果你的备份是通过代理作业直接执行脚本的:

  • 展开「SQL Server代理」→「作业」,找到对应的备份作业右键「属性」。
  • 切换到「步骤」选项卡,选中备份步骤点击「编辑」。
  • 你可以直接在现有脚本里添加过期参数(参考后面的T-SQL部分),或者点击「打开」按钮,用备份向导重新生成带过期设置的脚本替换原有命令。

二、用T-SQL脚本配置(适合自动化/批量场景)

直接在备份脚本中添加过期参数,不同备份类型的写法略有区别:

1. 完整备份脚本添加过期设置

BACKUP DATABASE语句里加入RETAINDAYS(保留天数)或EXPIREDATE(具体过期日期)参数:

BACKUP DATABASE [YourDatabaseName]
TO DISK = N'C:\Backups\YourDB_Full_202405201200.bak' -- 你的带时间戳文件名
WITH 
    COMPRESSION, -- 推荐开启,节省磁盘空间
    RETAINDAYS = 14, -- 备份集14天后过期
    -- 也可以用 EXPIREDATE = '2024-06-03', -- 指定具体过期日期
    NAME = N'YourDB-Full Backup',
    DESCRIPTION = N'Full backup of YourDB with timestamp'

2. 差异备份脚本添加过期设置

差异备份只需加上DIFFERENTIAL标识和过期参数:

BACKUP DATABASE [YourDatabaseName]
TO DISK = N'C:\Backups\YourDB_Diff_202405201200.bak'
WITH 
    DIFFERENTIAL, -- 标记为差异备份
    COMPRESSION,
    RETAINDAYS = 7, -- 差异备份保留7天即可,因为每2天有新的完整备份
    NAME = N'YourDB-Differential Backup',
    DESCRIPTION = N'Differential backup of YourDB with timestamp'

3. 事务日志备份脚本添加过期设置

事务日志备份用BACKUP LOG,同样添加过期参数:

BACKUP LOG [YourDatabaseName]
TO DISK = N'C:\Backups\YourDB_Log_202405201215.trn'
WITH 
    COMPRESSION,
    RETAINDAYS = 3, -- 事务日志备份频率高,保留3天足够覆盖恢复需求
    NAME = N'YourDB-Transaction Log Backup',
    DESCRIPTION = N'Transaction log backup of YourDB with timestamp'

几个关键提醒

  • 过期日期的实际作用:设置后,超过保留时间的备份集会被标记为「可覆盖」,如果你用了带时间戳的唯一文件名,主要是配合维护计划的「清除维护」任务自动删除过期文件,避免磁盘被占满。
  • 建议搭配清理任务:在维护计划里添加「清除维护」任务,设置删除过期的备份文件,这样就能自动清理旧备份,不用手动操作。
  • 和文件名的关系:你用了唯一时间戳文件名,不会出现自动覆盖的情况,但过期设置能让系统识别哪些备份已经不需要保留,方便后续的管理和清理。

内容的提问来源于stack exchange,提问作者vinGa

火山引擎 最新活动