Удалить старые резервные копии базы данных для Linux SQL Server 2017 после создания резервных копий с помощью Ola Hallengren? - PullRequest
2 голосов
/ 15 октября 2019

У меня проблема, когда я хочу удалить старые резервные копии, созданные с помощью сценариев 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 не будет распознавать очистку после выполнения сценария. История резервного копирования во внутреннем управлении резервным копированием не будет обновляться, и в случае восстановления система хочет иметь резервные копии, которые больше не существуют.

...