0

这一直让我发疯。我已经尝试了所有建议,但没有成功。

这绝对行不通。文件都还在。

作业成功运行,但文件未删除。

在此处输入图像描述

4

4 回答 4

2

我最近遇到了同样的问题,这是由于文件夹权限。很容易检查:

  1. 检查最近的 bak 或 trn 文件的属性、安全性,并找出所有者是谁。
  2. 现在检查备份文件夹的属性、安全性并查看步骤 1 中的 FILE 所有者是否有足够的有效权限来删除文件。该帐户可能只有足够的空间来创建和修改,但不能删除文件。

奇怪的是,该计划总是“成功”地运行,即使它失败得很惨。这就是为什么教师不应该让学生自己评分的原因。(咧嘴笑)。

于 2012-09-12T15:27:40.023 回答
1

这是在哪个账户下运行的?域管理员、服务等?

我一直发现创建批处理作业并使用 Windows 调度程序在 x 周内清理 .bak 文件更容易。您能否查看作业历史记录并查看任务是否失败/成功,可能也值得查看服务器上的事件查看器。

于 2011-04-14T19:45:29.453 回答
1

我能找到的唯一解决方案是获取从清理任务生成的 SQL,然后在 SP 中运行它,因为猜猜是什么???这个计划生成的SQL,完美运行!!!!!!

这是我用来运行的代码,它可以工作。

ALTER PROCEDURE spUtility_delete_OldBackups
AS

DECLARE @date varchar(28)
SET @date = CONVERT(varchar(28),DATEADD(DAY, -5,GETDATE()))


EXECUTE master.dbo.xp_delete_file 0, 'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\EEIDW\', 'bak', @date,1

EXECUTE master.dbo.xp_delete_file 0,'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\EEIDW\','diff', @date,1

EXECUTE master.dbo.xp_delete_file 0,'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\EEIDW\','trn', @date,1
于 2011-04-14T19:59:06.937 回答
0

我有一个类似的作业运行没有问题,SQLServerAgent在什么账户下运行,这些维护计划作为SQLServerAgent执行,如果SQLServerAgent运行的安全上下文没有足够的权限,这个作业会失败,应该有一些作业历史这会告诉你更多。

于 2011-04-14T19:47:08.237 回答