我的目标很简单。我想让 SQL 连续 5 天每晚保留数据库的备份。
因此,每天晚上的某个时间我都希望制作一个新的数据库备份并删除一个备份,这样磁盘上就有连续 5 天的数据。
我正在尝试设置一个维护计划来处理这项工作并保存文件(我认为)。我已附加备份,因此单个 bak 文件将包含连续 5 天的数据(不确定这是否会起作用 0 因为 SQL 如何知道要删除什么,而删除单个 bak 文件将删除所有备份)。
正如您所知,我在弄清楚如何删除数据库的旧备份以便磁盘上只有最新的 5 个备份时遇到了问题。
对此有什么建议吗?
答案1
您必须备份到单个文件,而不是合并备份。清理任务不够智能,无法查看单个文件并删除旧备份。
然后放入维护清理子任务来删除超过 5 天的文件。
答案2
将维护清理任务添加到您的维护计划中。通过此任务,您可以选择删除早于某个日期的备份文件。我还没有尝试用单个备份文件执行此操作,所以我不能 100% 确定这是否适合您。
您是否有什么理由想要用单个文件来做这件事?
答案3
维护清理任务将完全按照您的要求执行,使用默认备份任务,每天使用带有时间戳的 BAK,并添加清理任务以删除超过 5 天的文件。
答案4
如果您想了解更多有关维护计划的信息,请阅读这本免费电子书,这不会花费太多时间,而且值得。Brad 的 SQL Server 维护计划可靠指南