我想知道在哪个(如果可能的话)您可以配置特定SQL Server数据库的备份数量保存在系统备份文件夹中。即它应该"清理"自动旧备份(如果可能)。
此外,我有一个VS2010数据库项目,我可以指定我希望在部署时创建备份,但我再次希望有一种方法来控制它将创建的许多备份,如果可能的话,清理旧备份。
我知道这是一个有问题的问题,但必须有一个简单的方法来做到这一点?
感谢。
答案 0 :(得分:1)
使用SQL Server's Maintenance Plans备份数据库时,可以轻松控制创建备份的时间和数量,以及删除旧备份的时间。
有一个名为“Maintenance Cleanup Task”的任务,您可以将其设置为删除某个早于X 的数据库的所有备份。
Here is a blog post描述了一个常见问题,但也显示了维护清理任务的必要设置。
答案 1 :(得分:1)
正如Christian所说,维护计划不支持您的方案。当您需要与文件系统进行交互时,服务器端代码(TSQL或CLR过程)通常会变得非常笨拙。
所以这在操作系统级别上最容易做到。使用维护计划或其他方法将每个数据库备份到单独的文件夹,然后在Perl,PowerShell或任何您喜欢的任何内容中编写脚本,当存在3个以上的文件时,从文件夹中删除最旧的文件。您可以将其安排为每小时,每天,每周或适合您的发布时间表运行一次。