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天前的档案仍然存在。

我检查了类似的问题,例如这个问题 ,事实并非如此,因为我的维护任务在两天前和过去几周都运行良好:

检查文件以查看它是否是有效的备份文件。 如果文件损坏或以其他方式损坏,删除文件的过程将不会执行任何操作。 您可以通过以下操作来检查它:

 RESTORE HEADERONLY FROM DISK='d:\Path\To\Your\File.bak' 

另一个可能原因:

检查没有被删除的备份文件的所有者。

我将SQL服务器的备份位置移动到另一个磁盘,将所有现有的备份文件移动到过程中的新位置。

之后,这些文件由我的pipe理用户拥有,无法由数据库服务用户删除。

为了解决这个问题:

  1. 打开备份根文件夹的属性
  2. 转到Security选项卡,然后单击Advanced
  3. 设置正确的所有者,在我的情况下SQL Engine
    在这里输入图像说明
    确保启用Replace owner on subcontainers and objectsReplace owner on subcontainers and objectscheckbox!
  4. 单击确定,等待该过程完成并closures所有对话框。

现在维护计划应该能够再次删除备份文件。