SQL维护清理任务工作但不删除

Ale*_*lex 38 sql-server sql-server-2008 maintenance-plan

我有一个维护计划,假设要通过BACKUP文件夹并删除超过5天的所有.bak.当我运行这个工作时,它给了我一个成功的消息,但旧的.bak文件仍然存在.

我已经尝试了以下问题的步骤:https://serverfault.com/questions/245493/sql-maintenance-cleanup-task-success-but-not-deleting-files

Result is column IsDamaged = 0

我已经验证了以下问题,这不是我的问题:https://serverfault.com/questions/94094/maintenance-cleanup-tasks-running-successfully-but-not-deleting-back-up-files

我也尝试删除工作和维护计划并重新创建,但无济于事.

有任何想法吗?

小智 54

试试这些检查:

  1. 使用*.*作为文件扩展名或bak没有点,如果其他问题也是正确的,我发现这两个都是有用的.
  2. 确保路径只是备份所在的路径,但最后使用反斜杠.
  3. 首先创建备份时检查是否勾选了验证.

  • 使用扩展bak对我有用.没有圆点和星号 (16认同)
  • 我们遇到了这个问题——将路径更改为以“\”结尾,并将文件规范更改为“*.*”。那奏效了。 (2认同)

小智 5

有同样的问题。Culprit是.Bak扩展名。将其更改为Bak,您应该会很好。

  • 微软的某个人需要被私刑。他们的标准是文件名不区分大小写,但保留大小写-我花了6个小时在这里<插入任意数量的形容词>。 (2认同)

Dan*_*olm 5

这通常是由许可问题引起的.当权限阻止运行步骤的帐户删除文件时,清理任务似乎没有记录任何有用的内容.

您可以按如下方式验证:

  • 在SQL Server Management Studio中,右键单击维护计划并选择"修改"
  • 找到用于删除bak文件的维护清理任务,然后单击"查看T-SQL"按钮.将脚本复制到剪贴板 - 它将类似于"EXECUTE master.dbo.xp_delete_file ..."
  • 使用对包含备份的文件夹具有所需权限的Windows帐户连接到服务器并运行SQL
  • 如果bak文件确实被清除,则表明维护计划任务已正确配置并且您有权限问题.
  • 在Management Studio中,打开作业的属性窗口(SQL Server代理>作业),单击第一步上的"编辑"按钮."运行方式"部分将指示正在运行作业的帐户.


Thy*_*ine 1

我以前也遇到过类似的工作问题。我遇到的不删除的情况是因为当我通过 GUI 时没有明确设置位置。即使我没有更改任何内容,当没有具体列出路径位置时,就像它不知道在哪里处理删除一样,因此不会发生删除。它备份得很好,一切都很好,但它不会按照向导/表单中的指定进行清理。