Database SQL Server维护计划清理任务

Database SQL Server维护计划清理任务,database,sql-server-2012,database-backups,windows-server-2012-r2,maintenance-plan,Database,Sql Server 2012,Database Backups,Windows Server 2012 R2,Maintenance Plan,我正在WinServer 2012 R2上使用SQL Server 2012(SP2)。我创建了一个维护计划,对我的数据库进行备份,并删除报告文件和超过2天的备份文件 我的问题是维护计划不会删除超过2天的文件。这些文件在5或6天后也不会被删除。备份经过验证和压缩 我对目录(代理在LocalSystem下运行)拥有权限,在“文件扩展名”下的任务属性中,我尝试设置不带点和带点的名称,例如“.bak”、“bak”和“*.bak”,但没有任何效果。我改变了任务的顺序,但什么都没用 但我总是收到成功的信息

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

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

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


但我总是收到成功的信息。那么这里出了什么问题

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

通过SQL代理(SQL Server内部等效于任务调度器)执行此操作将更加整洁。一旦有了维护计划,就可以通过ManagementStudio界面进行测试,添加代理作业就轻而易举了


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

否,我只是在使用维护计划。维护计划中的这些不同工作称为任务,所以我想我已经足够清楚了。在最初的问题中,您使用的是示例文件扩展名“bat”。我相信您知道,此扩展用于Windows命令提示符批处理文件,我认为这是可以理解的,这可能会导致不知道您的确切意思的读者认为您的问题可能与脚本命令有关。SQL Server备份文件的默认扩展名为“bak”。除非您在备份任务中特别将其更改为bat,或者您在原始问题中重复了相同的打字错误3次,否则这可能是您出现问题的原因。谢谢,我更正了此错误。我是说BAK和not BAT不知道我为什么写BAT…:D