使用现有作业脚本创建SQL Server代理作业?

时间:2016-12-08 13:12:04

标签: sql-server sql-server-2008 sql-server-2008-r2

我有两个SQL Server代理作业:Job1和Job2。由于Job2与Job1非常相似,我右键单击Job1 > Script Job As > Create To并使用该脚本创建Job2。

现在我看到我在Job2的日程安排中所做的任何更改也影响了Job1,我假设它正在发生,因为两者都有相同的@schedule_uid

所以,有两个问题:

使用另一个作业的sql脚本生成作业是否正确?如果它是正确的,如何在一个作业中所做的更改影响另一个作业时修复此错误?

感谢。

2 个答案:

答案 0 :(得分:1)

计划是SQL Server中的不同对象,您发现它们独立于作业,由ID引用。

如果您通过脚本创建作业,则只需要分配计划,为每个作业创建新计划,或者定义一组适合您的需求/维护窗口的可能计划并指定正确的ID在你的剧本中。

显然,如果您更改计划,任何共享计划的两个作业都会受到影响,因此,如果您预计会进行大量的个人作业管理/调整,那么您的脚本创建计划然后引用新计划可能是最好的。创造就业机会的时间表。

答案 1 :(得分:1)

如果您查看脚本,您会看到@schedule_uid是相同的。如果要从@schedule_uid数据库中的表中获取新的MSDB(以及所有其他硬编码的id),您将获得正确的运行作业

相关问题