维护计划维护清理任务是否成功运行,但没有删除文件?

时间:2011-04-14 19:41:33

标签: sql-server sql-server-2005 maintenance-plan

这让我发疯了。我已经尝试了所有建议,但没有去。

这绝对不行。文件仍在那里。

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

enter image description here

4 个答案:

答案 0 :(得分:2)

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

  1. 检查最近的bak或trn文件的属性,安全性,并找出所有者是谁。
  2. 现在检查备份FOLDER的属性,安全性,并查看步骤1中的FILE所有者是否具有足够的有效权限来删除文件。该帐户可能只能创建和修改,但不能删除文件。
  3. 奇特的部分是,计划总是“成功地”运行,即使它失败了。这就是为什么教师不应该让学生对自己的考试进行评分。 (GRIN)。

答案 1 :(得分:1)

这是在运行什么帐户?域管理员,服务等?

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

答案 2 :(得分: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

答案 3 :(得分:0)

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