假设我有一项日常维护任务:
- 备份所有数据库,然后
- 删除超过 3 天的备份。
现在假设第 1 天的第一次备份,从 10:00 开始,产生以下文件
db1.bak 2012-01-01 10:04
db2.bak 2012-01-01 10:06
现在假设在第 4 天,维护任务的第一步(备份数据库)恰好在 10:05 完成。请问SQL Server
- 删除 db1.bak 并保留 db2.bak(合乎逻辑,但可能会让用户感到惊讶)或
- 保留两者或
- 删除两个?
假设我有一项日常维护任务:
现在假设第 1 天的第一次备份,从 10:00 开始,产生以下文件
db1.bak 2012-01-01 10:04
db2.bak 2012-01-01 10:06
现在假设在第 4 天,维护任务的第一步(备份数据库)恰好在 10:05 完成。请问SQL Server
维护计划将使用清理任务启动的时间删除备份文件,因为它会在此时生成 SQL。所以在你描述的三个选项中,第一种情况是会发生什么。
我创建了一个示例计划,用于删除超过 3 天的文件并运行该作业。从下面的日志输出中,您可以看到作业在 2013 年 5 月 7 日 12:25 运行,并删除了 2013 年 5 月 4 日 12:25 之前的文件。下面的 T-SQL 显示了如何生成日期的近似命令。
维护计划:MaintenancePlan 持续时间:00:00:02 状态:成功。细节:
在本地服务器连接数据库上备份数据库:DBA 类型:完整追加现有任务开始: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_67,8713''W,SKIP, RE名词负载,统计数据 = 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''
去