我有两个SQL Server代理作业:Job1和Job2。由于Job2与Job1非常相似,我右键单击Job1 > Script Job As > Create To
并使用该脚本创建Job2。
现在我看到我在Job2的日程安排中所做的任何更改也影响了Job1,我假设它正在发生,因为两者都有相同的@schedule_uid
。
所以,有两个问题:
使用另一个作业的sql脚本生成作业是否正确?如果它是正确的,如何在一个作业中所做的更改影响另一个作业时修复此错误?
感谢。
答案 0 :(得分:1)
计划是SQL Server中的不同对象,您发现它们独立于作业,由ID引用。
如果您通过脚本创建作业,则只需要分配计划,为每个作业创建新计划,或者定义一组适合您的需求/维护窗口的可能计划并指定正确的ID在你的剧本中。
显然,如果您更改计划,任何共享计划的两个作业都会受到影响,因此,如果您预计会进行大量的个人作业管理/调整,那么您的脚本创建计划然后引用新计划可能是最好的。创造就业机会的时间表。
答案 1 :(得分:1)
如果您查看脚本,您会看到@schedule_uid
是相同的。如果要从@schedule_uid
数据库中的表中获取新的MSDB
(以及所有其他硬编码的id),您将获得正确的运行作业