我有一台运行 Windows Server 2008 SP2 和 SQL Server 2005 Express 的服务器。
每天都会通过 Windows 任务计划程序运行备份。它会保留最近 7 天的备份并自动删除更早的备份。
如何/在哪里更改保留备份的天数?
更新:根据对问题的评论,以下是正在运行的脚本的内容:
exec expressmaint
@database = 'xxxx',
@optype = 'DB',
@backupfldr = 'c:\sql_data\backup',
@reportfldr = 'c:\sql_data\backup\reports',
@verify = 1,
@dbretainunit = 'weeks',
@dbretainval = 1,
@rptretainunit = 'weeks',
@rptretainval = 1,
@report = 1
go
我现在想存储 4 天的备份,而不是 7 天
答案1
因此,您的任务是调用针对 SQL Server 实例执行的 T-SQL 脚本。它正在调用一个存储过程,该存储过程具有用于执行备份和清理的 T-SQL 命令,至少根据变量(所有“@words”)是这样的。我猜这个存储过程expressmaint
存储在master
数据库中。如果您熟悉 T-SQL,您可以打开 SSMS,找到此存储过程,右键单击它,然后左键单击“修改”。这将打开该过程并向您显示它正在执行的所有代码。进行更改,然后单击“执行”(或 F5 键)将更新该过程,但在您确定要更改的内容之前,请不要这样做。
从脚本的样子来看,我认为@dbretainunit = 'weeks', @dbretainval = 1,
这些变量与备份的保存时间有关。您需要在存储过程中确定它如何处理这些变量。它可能很简单,只需@dbretainunit = 'days', @dbretainval = 4
根据您的要求将其更改为即可。但是,除非您验证它的作用,否则您不会知道这一点。