0

我在 WinServer 2012 R2 上使用 SQL-Server 2012 (SP2)。我创建了一个维护计划,对我的数据库进行备份并删除超过 2 天的报告文件和备份文件。

我的问题是维护计划不会删除超过 2 天的文件。这些文件在 5 或 6 天后也不会被删除。备份经过验证和压缩。

我对目录(代理在 LocalSystem 下运行)和“文件扩展名”下的任务属性拥有权限,我尝试设置不带点和带点的名称,例如“.bak”、“bak”和“*.bak”但没有任何效果。我改变了任务的顺序,没有任何效果。

但我总是收到成功消息。那么这里有什么问题呢?

4

2 回答 2

0

我试图以不同的方式解决它,但没有办法,我发现最快的方法是使用删除它们的 .bat 并安排一个每晚执行的 Windows 任务。

这只蝙蝠从最近 3 天开始清除:

FORFILES /P "C:\Directorio" /S /D -3 /c "CMD /c DEL /Q @PATH"

于 2021-08-05T07:05:20.483 回答
0

只是为了澄清一下,您是否尝试运行一个脚本(即 .bat)来通过 SQLCMD 处理其中的一些,并通过任务计划程序调用该脚本?从您的问题来看,听起来您已经在 SQL Server 中设置了维护计划,但正在尝试设置一个“任务”来调用它(任务计划程序),而不是一个“作业”(SQL 代理),如果不是这种情况。

通过 SQL 代理(任务计划程序的 SQL Server 内部等效项)执行此操作会更整洁。一旦有了维护计划,您就可以通过 Management Studio 界面进行测试,添加代理作业是轻而易举的事。

如果您正在运行任务计划程序任务来调用脚本,那么您可能会获得“成功”,因为任务启动了您的脚本,但该脚本未设置为正确处理 SQLCMD 调用的返回。

于 2016-01-31T22:42:47.703 回答