我已设置 SQL Server 代理作业,以便每天晚上 3 点执行备份。该作业将备份附加到现有备份文件,并将备份的到期时间设置为 7 天后。
它已经运行了几个星期,但是备份文件变得非常大,如果我查看文件的内容(通过单击备份配置屏幕中的内容),我可以看到它具有自我开始作业以来的每个备份,并且过期的备份不会被新的备份覆盖。
我在管理工作室中创建了该作业,通过右键单击数据库,选择任务>备份,然后设置以下选项:
- 备份类型:完整
- 备份组件:数据库
- 备份集将过期:7 天后
- 目标:磁盘(然后选择一个文件)
- 覆盖媒体:备份到现有媒体集、附加到现有备份集
然后,我使用脚本到新查询窗口,并将命令复制到代理作业中的某个步骤。
我正在使用 SQL Server 2005。
我该如何配置它以覆盖备份文件中旧的过期备份,而不是保留每个备份的副本?我只想要一个始终包含最近 7 天备份的文件。
答案1
我不知道它是否会这样做,但你没有提到检查选项:
检查媒体集名称和备份集过期时间
这似乎也是必需的。您必须记住,SQL 的备份命令并非旨在像商业备份软件那样功能齐全,它只关心允许您进行任何备份。它可能无法完全按照您想要的方式执行。