修改维护计划时,SQL Server Agent新添加的作业步骤将被删除

时间:2019-01-04 18:50:27

标签: sql-server

SQL Server 2014 Management Studio中的方案:

  1. 创建维护计划(管理->维护计划->维护计划向导(即TestBackup)
  2. 在“ SQL Server作业”下,右键单击“ TestBackup”作业
  3. 添加一些新步骤(属性->步骤->新建)并保存
  4. 在维护计划下,右键单击TestBackup,进行更改,然后保存

现在,如果您返回到“ SQL Server作业”下的TestBackup作业,创建的新步骤将不再存在!

1 个答案:

答案 0 :(得分:1)

评论太久

许多人建议您不要通过设计者以外的任何其他方式来编辑维护计划。这包括编辑由维护计划的核心SSIS包创建的“作业”或子计划。 Brad McGehee(SQL Server MVP,MCITP,MCSE + I,MCSD和MCT)在他的书Brad's Sure Guide to SQL Server Maintenance Plans中对此进行了论述,特别是从第74页开始。这是一段摘录:

  

p.264-265在整本书中,我偶尔提到   您应该使用维护计划设计器进行修改的事实   使用维护计划向导创建的维护计划。这是   因为维护计划向导无法修改   维护计划创建后,因此是更改的唯一方法   安全使用维护计划设计器。维护计划,   使用维护计划向导或维护创建的   计划设计器,作为单个SQL在“幕后”实现   服务器集成服务(SSIS)程序包,使用一个或多个执行   SQL Server代理作业。虽然可以手动修改   通过修改其SQL Server代理作业进行维护计划,而不是   建议,因为极有可能违反计划。   相反,请始终使用   维护计划设计器

其他人也报告了类似的问题,其中ownership of their subplans changed(被覆盖)。同样,一个用户reported the same behavior you have witnessed通过直接编辑子计划来完成。他通过在Execute SQL Server Agent Job Task的“维护计划”中添加一个步骤来避免这种情况,该步骤使用其自定义步骤解雇了工作。请注意,这仅与Brad的建议以及其他建议保持一致,以便仅通过维护计划设计器来编辑这些任务。

您还将注意到,如果您编辑维护计划,不做任何更改(但可能会更改总体计划的描述),然后保存它,则修改后的时间在您的子计划中是不重要的强>到更改,将反映此时间。意思是,它也被改变了。同样,删除维护计划会删除其受约束的代理作业。