3

我有一个 SQL 代理作业,它有多个步骤,计划在周一至周五的某个时间运行。我需要能够在此作业上实现停止功能,以免在表格中列出的假期运行。

我真的不知道该怎么做。我是否需要创建第一步来检查它是否是假期,然后如果是则使工作失败?

我有一个存储过程,它将检查我通过的日期以查看是否是假期,我只是不知道如何强制它报告失败,如果结果是肯定的,那就是假期。任何帮助将不胜感激。

4

1 回答 1

5

主意:

  1. SQL Server 代理运行作业
  2. 第一步是“检查假期”
  3. 代码抛出错误
  4. 作业步骤静默失败

第 3 点:要从存储过程获取错误到 SQL Server 代理,请使用RAISERROR

...
IF EXISTS (SELECT * FROM Holidays WHERE Date = GETDATE())
   RAISERROR ('Do nothing: relax: chill out', 16, 1);
...

要点4:在这种情况下,使用“退出成功”(1)作为sp_add_jobstep@on_fail_action的参数

于 2011-10-04T10:48:29.477 回答