Задача очистки обслуживания SQL "Успешно", но не удаление файлов
У меня есть план обслуживания базы данных на сервере. В качестве составной части резервной копии является задача технического обслуживания.
Версия SQL 2008
Задача, которая "успешно" настроена как:
Delete backup files
Correct folder (same address as the backup task)
File extension: bak (NOT .bak)
Delete files older than: 20 Hour(s)
У меня есть другие подобные задачи очистки, которые происходят в том же плане обслуживания, которые работают нормально. Этот план работал хорошо в прошлом, я только заметил, что прошлой ночью он сообщил об "успехе", и остальная часть плана продолжалась, однако файл от 2 дней назад все еще остается.
Я проверил похожие вопросы, такие как этот вопрос, но это не так, поскольку моя задача по обслуживанию работала нормально два дня назад и в течение последних нескольких недель:
3 ответа
Проверьте файл, чтобы увидеть, является ли он действительным файлом резервной копии. Если файл поврежден или каким-либо другим образом поврежден, процесс удаления файла ничего не сделает. Вы можете проверить это, выполнив:
RESTORE HEADERONLY FROM DISK='d:\Path\To\Your\File.bak'
Другая возможная причина:
Проверьте владельца файлов резервных копий, которые не удаляются.
Я переместил хранилище резервных копий сервера SQL на другой диск, переместив все существующие файлы резервных копий в новое место в процессе.
После этого файлы принадлежали моему администратору и не могли быть удалены пользователем службы базы данных.
Чтобы исправить это легко:
- Откройте свойства резервной корневой папки
- Перейти к
Security
вкладку и нажмите наAdvanced
- Установите правильного владельца, в моем случае
SQL Engine
,
Обязательно включитеReplace owner on subcontainers and objects
Флажок! - Нажмите OK, дождитесь окончания процесса и закройте все диалоги.
План обслуживания теперь сможет снова удалять файлы резервных копий.
Я испытывал ту же проблему. Предоставление системного администратора пользователю NT AUTHORITY\SYSTEM позволило запросу или заданию правильно выполнить удаление.