我们有一个数据库服务器,其中测试数据库每天 22:00 都会通过生产数据库的备份进行“刷新”。
恢复后的第一个备份是差异备份,因为我们使用的是交换机
ChangeBackupType = Y
。我们的
CleanupTime
参数设置为 48 小时,这对于完整备份和 TLog 备份效果很好。但是,该
CleanupTime
参数不适用于由于ChangeBackupType
设置为而创建的差异备份Y
。
有什么想法问题出在哪里吗?我们没有明确使用差异备份作业,因此CleanupTime
我无法设置。
定义完整备份
sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d aspMaintenance -Q "EXECUTE [dbo].[DatabaseBackup] @Databases = 'ALL_DATABASES', @BackupType = 'FULL', @NumberOfFiles = 1, @Verify = 'N', @CleanupTime = 42, @CheckSum = 'Y', @DirectoryStructure = '{DatabaseName}{DirectorySeparator}{BackupType}_{Partial}_{CopyOnly}', @LogToTable = 'Y'" -b
定义日志备份
sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d aspMaintenance -Q "EXECUTE [dbo].[DatabaseBackup] @Databases = 'ALL_DATABASES', @ChangeBackupType = 'Y', @BackupType = 'LOG', @Verify = 'N', @CleanupTime = 48, @CheckSum = 'Y', @DirectoryStructure = '{DatabaseName}{DirectorySeparator}{BackupType}_{Partial}_{CopyOnly}', @LogToTable = 'Y'" -b