3

我正在使用一个旧版迁移脚本,该脚本被设置为向 SQL Server 添加作业(带有多个步骤)。我正在尝试构建某种可重新运行的外观,而不会完全炸毁。

但是我现在到了这一行:

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver 
                        @job_id = @jobId, @server_name = N'(local)'

如果作业已经属于本地服务器,则此行将出错。这可能会运行多次,这是非常可行的。

是否可以运行查询来检查作业是否已经属于本地(或任何其他服务器名称?)

4

1 回答 1

3

找到了我的解决方案。

IF NOT EXISTS(SELECT * 
              FROM msdb.dbo.sysjobservers 
              WHERE (job_id = @myJobId AND server_id = 0))
于 2017-02-22T01:57:26.313 回答