Вы можете создать SQL-задание для удаления файла из файловой системы.
Прежде всего, вы должны запустить службу агента SQL.
Следующий шаг создает сценарий powershell для удаления желаемых файлов. Поместите скрипт на, например, D:\Test\
папку и укажите имя для скрипта, например DeleteFile.ps1. Редактировать сценарий и написать следующий код:
$files = Get-ChildItem D:\Test *.txt | Select Name, CreationTime, FullName | Sort CreationTime
for ($i=0; $i -lt ($files.Count -2); $i++) {
Remove-Item $files[$i].FullName
}
а затем сохранить и закрыть редактор.
Затем под агента SQL дерева, щелкните правой кнопкой мыши на Работа папку и выберите New Job. В диалоговом окне Общие сведения вкладка, укажите имя для задания, а затем в левой части окна, выберите Шаги, а затем Новые.
В новом диалоговом окне в разделе Тип, выберите Операционная система (CmdExec). В поле Command, просто вызовите Powershell скрипт, вы создаете для удаления нужных файлов:
D:\Test\DeleteFile.ps1
и нажмите кнопку OK для создания задания.
Когда закончите, чтобы проверить удаление файлов, щелкните правой кнопкой мыши на созданном задании, а затем выберите Начните работу как шаг.
ПРИМЕЧАНИЕ
Предлагается проверить всю эту работу на какой-то тестовой машине, прежде чем положить его в производство. Файлы, которые я удаляю, это файлы .txt
, но вам просто нужно изменить код, чтобы карта .bak
файлов. Конечно, вы можете изменить расположение файлов.
@downvoter, если это неправильный вопрос, вы должны проголосовать, но, пожалуйста, объясните, как помочь людям улучшить в следующий раз. – Ancient
Как называются ваши файлы резервных копий? По каким критериям вы сортируете свои файлы и решаете, какие первые два? – veljasije
filesnames вот так: databasename_datetime.bak – Ancient