这一直让我发疯。我已经尝试了所有建议,但没有成功。
这绝对行不通。文件都还在。
作业成功运行,但文件未删除。
这一直让我发疯。我已经尝试了所有建议,但没有成功。
这绝对行不通。文件都还在。
作业成功运行,但文件未删除。
我最近遇到了同样的问题,这是由于文件夹权限。很容易检查:
奇怪的是,该计划总是“成功”地运行,即使它失败得很惨。这就是为什么教师不应该让学生自己评分的原因。(咧嘴笑)。
这是在哪个账户下运行的?域管理员、服务等?
我一直发现创建批处理作业并使用 Windows 调度程序在 x 周内清理 .bak 文件更容易。您能否查看作业历史记录并查看任务是否失败/成功,可能也值得查看服务器上的事件查看器。
我能找到的唯一解决方案是获取从清理任务生成的 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
我有一个类似的作业运行没有问题,SQLServerAgent在什么账户下运行,这些维护计划作为SQLServerAgent执行,如果SQLServerAgent运行的安全上下文没有足够的权限,这个作业会失败,应该有一些作业历史这会告诉你更多。