加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如果在执行期间修改了SQL Server作业步骤,会发生

发布时间:2020-12-12 06:35:15 所属栏目:MsSql教程 来源:网络整理
导读:我们使用SQL Server 2008,并且通常运行18个小时并且有许多步骤.我已经搜索过,似乎找不到关于在执行期间修改作业时会发生什么的答案.以下是我今天执行期间对工作所做的更改的摘要: 1)我在’step 2’位置插入了一个新步骤.这项工作已经在第15步了,所以大概这个
我们使用SQL Server 2008,并且通常运行18个小时并且有许多步骤.我已经搜索过,似乎找不到关于在执行期间修改作业时会发生什么的答案.以下是我今天执行期间对工作所做的更改的摘要:

1)我在’step 2’位置插入了一个新步骤.这项工作已经在第15步了,所以大概这个步骤在下次工作运行之前不会启动.

2)我删除了最后一步(步骤#30).

3)我将步骤29从“转到下一步”修改为“退出报告成功”.

由于当我今天进行更改时,第15步正在进行中,我对最终步骤所做的更改是否会在作业到达今天时生效,还是仅在下次运行时生效?

此外,我在#2位置插入新步骤的事实是否会对当前运行产生不利影响步骤顺序?

解决方法

我在完成工作后检查了这份工作,现在得到了一个确定的答案.在作业执行时修改作业会影响作业的当前执行.根据作业历史记录,SQL Server 2008处理作业的方式是基于步骤编号一次一步.在作业执行时,这些步骤不会加载到内存中或以其他任何方式存储.

在我的特定场景中,我在#2位置添加了一个步骤.这导致所有后续步骤编号在更新时递增1.当我更新它时,工作正在运行第15步,因此步骤#15在更新后成为#16.结果,当步骤#15结束时,再次执行相同的存储过程(新步骤#16).

此外,由于我删除了作业的最后一步,因此当作业到达该步骤时它没有被执行,因为它不再作为作业的一部分存在.

最重要的是,最佳做法是不要在执行期间更新作业.结果是可预测的,但除非您能够承受两次或根本不运行的步骤,否则不建议这样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读