У меня есть план обслуживания, который предполагает пройти через папку BACKUP и удалить все .bak старше 5 дней. Когда я запускаю задание, появляется сообщение об успешном выполнении, но старые файлы .bak все еще присутствуют.
Я попробовал ответить на следующий вопрос: Задача очистки обслуживания SQL «Успех», но не удаление файлов
Result is column IsDamaged = 0
Я подтвердил следующий вопрос, и это не моя проблема: Задачи очистки при обслуживании выполняются успешно, но файлы резервных копий не удаляются.
Я также пытался удалить план работы и обслуживания и воссоздать его, но безуспешно.
Любые идеи?
Я бы порекомендовал перехватить вызов T-SQL во время задачи очистки, чтобы увидеть, имеют ли смысл входные параметры. Например, я записал следующий вызов в версии 10.0.2766:
ВЫПОЛНИТЬ master.dbo.xp_delete_file 0, N'c: \ temp ', N'.bak', N'2011-03-16T09: 23: 28 ', 1
Первые пять параметров в предыдущем примере - это тип (1 для отчета, 0 для резервного копирования), папка, расширение, дата.
Это поможет определить, не имеет ли конкретный параметр смысла (например, используемые поля расширения верны, даты неверны, ошибок не возникает). Также было бы интересно узнать, работает ли эта команда, если выполняется вне контекста плана.
** Обновление ** Я запустил монитор процесса и отфильтровал его на основе PID SQL Server. Я не могу воспроизвести вашу ошибку, но вот скриншот того, как должно выглядеть успешное архивирование. Что-то, с чем вы можете сравнить - а также быстро сообщит вам, если это основная проблема с разрешениями:
У другого пользователя Serverfault недавно была такая же проблема, ответ ниже устранил проблему, попробуйте.
Задача очистки при обслуживании SQL работает, но не удаляется