sql-server - 查询以检查作业是否已经属于 SQL Server 中的作业服务器

标签 sql-server sql-agent-job sql-agent

我正在使用一个遗留迁移脚本,该脚本被设置为向 SQL Server 添加作业(包含多个步骤)。我试图在不完全崩溃的情况下构建一些可重新运行的外观。

但是我现在只剩下这一行了:

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

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

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

最佳答案

找到我的解决方案。

IF NOT EXISTS(SELECT * 
              FROM msdb.dbo.sysjobservers 
              WHERE (job_id = @myJobId AND server_id = 0))

关于sql-server - 查询以检查作业是否已经属于 SQL Server 中的作业服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42381010/

相关文章:

sql - 如何处理触发器中的错误?

sql-server - 远程 SSIS 包实际运行在哪里

SQL Server - 在不删除和重新创建代理的情况下启用代理

sql-server - PowerShell登录和特权

sql-server - 如何让 SQL Server 以 AM/PM 格式保存日期时间?

sql - 连接两个具有逗号分隔列的表的最佳方法是什么

sql-server - 从sql server中给定的字符串中获取不同的字符

sql - 2012 SQL作业问题

sql-server - 增加 SQL Server 代理中的文本大小

sql - SQL Server 2008 代理作业中使用了谁的登录名