
У меня есть простой пакет Integration Service, который выглядит SQL Task
так, как показано ниже;
WLSTAGE Bakup using Red Gate
: Вызовыmaster..sqlbackup
для резервного копирования базы данных
Вот SQL для запуска фактического резервного копирования
exec master..sqlbackup '-E -SQL "BACKUP DATABASE [WLSTAGE] TO DISK = ''\\Backups\<AUTO>'' WITH COMPRESSION = 1, INIT, MAILTO = ''<left blank intentionally>'', VERIFY"'
Поскольку я указал имя файла резервной копии как <AUTO>
,Мне интересно, есть ли простой способ удалить резервные копии старше 2 дней?(если возможно, без написания какого-либо вспомогательного кода для анализа имени файла).
решение1
Я не уверен, что делает оператор AUTO, но вы, вероятно, знаете о задаче Maintenance Cleanup. Она не делает то, что вам нужно?
Мне тоже нравится PowerShell для таких вещей.
(get-item -path "d:\perflogs\*" | where {$_.creationTime -lt ((get-date) - (new-timespan -days 30))} | where {$_.extension -eq ".blg"}) | remove-item