У меня проблема, когда я хочу удалить старые резервные копии, созданные с помощью сценариев Ola Halengreen.
USE Maintenance
EXECUTE dbo.DatabaseBackup
@Databases = 'USER_DATABASES',
@Directory ='/mssql/backup/',
@DirectoryStructure ='${InstanceName}{DirectorySeparator}{DatabaseName}',
@Filename='{DatabaseName}_{BackupType}_{Year}{Month}{Day}_{Hour}{Minute}{Second}_{FileNumber}.{FileExtension}',
@BackupType = 'FULL',
@Compress = 'Y',
@CleanupTime = 3
Я получил следующее сообщение об ошибке:
значение параметра @CleanupTime не поддерживается. Очистка> не поддерживается в Linux.
Пока все хорошо, но каков наилучший способ удаления старых резервных копий без разрушения цепочки резервных копий?
Моя мысль заключалась в том, чтобы иметь сценарий для удаления
#!/bin/sh
find /mssql/backup -name "*.bak" -type f -mtime +3 -exec rm -f {} \;
find /mssql/backup -name "*.trn" -type f -mtime +4 -exec rm -f {} \;
Внутренняя система экземпляра SQL Server не будет распознавать очистку после выполнения сценария. История резервного копирования во внутреннем управлении резервным копированием не будет обновляться, и в случае восстановления система хочет иметь резервные копии, которые больше не существуют.