创建的.bak文件的SQL SERVER数

时间:2011-12-08 23:04:40

标签: sql-server vsdb

我想知道在哪个(如果可能的话)您可以配置特定SQL Server数据库的备份数量保存在系统备份文件夹中。即它应该"清理"自动旧备份(如果可能)。

此外,我有一个VS2010数据库项目,我可以指定我希望在部署时创建备份,但我再次希望有一种方法来控制它将创建的许多备份,如果可能的话,清理旧备份。

我知道这是一个有问题的问题,但必须有一个简单的方法来做到这一点?

感谢。

2 个答案:

答案 0 :(得分:1)

使用SQL Server's Maintenance Plans备份数据库时,可以轻松控制创建备份的时间和数量,以及删除旧备份的时间。

有一个名为“Maintenance Cleanup Task”的任务,您可以将其设置为删除某个早于X 的数据库的所有备份。

Here is a blog post描述了一个常见问题,但也显示了维护清理任务的必要设置。

答案 1 :(得分:1)

正如Christian所说,维护计划不支持您的方案。当您需要与文件系统进行交互时,服务器端代码(TSQL或CLR过程)通常会变得非常笨拙。

所以这在操作系统级别上最容易做到。使用维护计划或其他方法将每个数据库备份到单独的文件夹,然后在Perl,PowerShell或任何您喜欢的任何内容中编写脚本,当存在3个以上的文件时,从文件夹中删除最旧的文件。您可以将其安排为每小时,每天,每周或适合您的发布时间表运行一次。