如何处理SQL Agent作业错误?

时间:2009-06-25 08:16:05

标签: sql-server error-handling scheduled-tasks sql-server-agent

我正在编写一个SQL代理作业,每天从表1和表2中删除一行。 SQL代理作业的步骤是:

  1. 删除表1中的一些特定记录
  2. 从表2中删除一些特定记录。
  3. 我的问题是:

    1. 如何在SQL Agent中记录错误?我们可以使用的任何日志/事件? (这样我们就可以看到SQL Agent作业失败的日子,以及失败的原因。)
    2. 我希望SQL作业继续执行(删除)Table2中的特定记录,即使因任何原因从Table1中删除失败,任何最佳实践如何实现?

1 个答案:

答案 0 :(得分:5)

我认为您的意思是Microsoft SQL Server?

如果是的话,这两件事都很容易做到。

  1. 只需查看SQL Agent作业的属性即可。在“通知”下,您可以告诉作业写入Windows日志或向您发送电子邮件(但之前,您必须为每台服务器配置一次电子邮件)。
    您可以选择是否仅在失败时才会发生,只有在成功或始终失败时才会发生。

  2. 您可以在作业中定义不同的步骤。对于每个步骤,您可以定义在失败时会发生什么以及在成​​功时会发生什么(例如“转到下一步”或“有错误的结束作业”)。

  3. 修改
    首先,here是您第一个问题的教程 - 如何设置通知,以便在作业失败时收到电子邮件。

    对于第二个问题,您需要打开SQL Server代理作业的属性。 我找到了属性窗口here的英文截图 查看图片 - 您必须选择左侧的“步骤”,然后您可以在右侧看到作业的不同步骤。请注意右侧的“On success”和“On Failure”列,这就是我的意思。您可以在编辑步骤时编辑这些值。