我在WinServer 2012 R2上使用SQL-Server 2012(SP2)。我创建了一个维护计划,用于备份我的数据库并删除超过2天的报告文件和备份文件。
我的问题是维护计划不会删除超过2天的文件。这些文件在5或6天后也不会被删除。备份经过验证和压缩。
我拥有该目录的权限(代理程序在LocalSystem下运行),在“文件扩展名”下的任务属性中,我尝试将名称设置为不带和带有点,例如“.bak”,“bak”和“* .bak”但没有任何作用。我改变了任务的顺序,没有任何作用。
但我总是得到成功的消息。那么这里有什么问题?
答案 0 :(得分:0)
只是为了澄清一下,您是否尝试运行脚本(即.bat)通过SQLCMD处理其中的一部分,并通过任务计划程序调用该脚本?从您的问题来看,听起来您已经在SQL Server中设置了维护计划,但正在尝试设置"任务"称之为(任务计划程序),而不是" Job" (SQL Agent),如果不是这样,我很抱歉。
通过SQL代理(SQL Server内部等效的任务调度程序)完成此操作会更加整洁。一旦有了Maintenance Paln,您就可以通过Management Studio界面进行测试,轻松添加代理作业。
如果您正在运行任务计划程序任务来调用脚本,那么您可能会获得成功"因为任务启动了您的脚本,但脚本没有设置为正确处理SQLCMD调用的返回。
答案 1 :(得分:0)
我试图用不同的方法解决它,但没有办法,我发现最快的方法是使用 .bat 删除它们并安排一个每晚执行的 Windows 任务。
这只蝙蝠在过去 3 天内清除了:
FORFILES /P "C:\Directorio" /S /D -3 /c "CMD /c DEL /Q @PATH"