gpt4 book ai didi

sql-server - 如果 SQL Server 作业步骤在执行过程中被修改,会发生什么情况

转载 作者:行者123 更新时间:2023-12-02 11:26:20 24 4
gpt4 key购买 nike

我们使用 SQL Server 2008,并且有一项作业通常运行 18 个小时以上并且包含许多步骤。我已经搜索过,但似乎无法找到有关在执行期间修改作业时会发生什么情况的答案。以下是我今天在执行过程中对作业所做的更改的摘要:

1) 我在“步骤 2”位置插入了一个新步骤。该作业已经处于第 15 步,因此大概直到下次作业运行时才会触发此步骤。

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

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

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

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

最佳答案

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

在我的具体场景中,我在#2 位置添加了一个步骤。这导致所有后续步骤编号在更新时加一。当我更新它时,该作业正在运行步骤 #15,因此更新后步骤 #15 变成了步骤 #16。结果,当步骤 #15 完成时,再次执行相同的存储过程(新步骤 #16)。

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

最重要的是,最佳实践是不要在执行期间更新作业。结果是可预测的,但除非您有能力让步骤运行两次或根本不运行,否则不建议这样做。

关于sql-server - 如果 SQL Server 作业步骤在执行过程中被修改,会发生什么情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com