假设我有一个日常维护任务:
现在让我们假设在第一天从10:00开始的第一次备份导致以下文件
db1.bak 2012-01-01 10:04 db2.bak 2012-01-01 10:06
现在让我们说在第四天维护任务的第一步(备份数据库)恰好在10:05完成。 将SQL Server
维护计划将使用清理任务开始的时间删除备份文件,因为此时生成SQL。 所以在你描述的三种select中,第一种情况是会发生的。
我创build了一个示例计划,删除3天以上的文件并运行该作业。 从下面的日志输出中,您可以看到该作业在2013年5月7日12点25分运行,并在2013年5月4日删除了早于12:25的文件。 下面的T-SQL显示了如何生成date的近似命令。
query: select GETDATE() select DATEADD(DAY, -3, GETDATE() ) results: ----------------------- 2013-05-07 12:51:52.073 (1 row(s) affected) ----------------------- 2013-05-04 12:51:52.073 (1 row(s) affected)
维护计划:维护计划持续时间:00:00:02状态:成功。 细节:
本地服务器连接上的备份数据库数据库:DBAtypes:完全追加现有任务启动:2013-05-07T12:25:03。 任务结束:2013-05-07T12:25:05。 成功命令:BACKUP DATABASE [DBA] TO DISK = N''N:\ Apps \ MSSQL10.INSTANCE \ MSSQL \ Backup \ DBA_backup_2013_05_07_122503_6738713.bak'WITH NOFORMAT,NOINIT,NAME = N''DBA_backup_2013_05_07_122503_6738713'',SKIP,REWIND, NOUNLOAD,STATS = 10
走
本地服务器连接上的维护清理清理数据库备份文件年龄:早于3天任务开始时间:2013-05-07T12:25:05。 任务结束:2013-05-07T12:25:05。 成功命令:EXECUTE master.dbo.xp_delete_file 0,N''N:\ Apps \ MSSQL10.INSTANCE \ MSSQL \ Backup'',N''BAK'',N'2013-05-04T12:25:05''
走