3

我在写一个SQL代理作业,每天从表1和表2中删除一行。 SQL代理工作的步骤是:如何处理SQL Agent作业错误?

  1. 从表1
  2. 删除一些特定的记录表中​​删除一些特定的记录2.

我的问题是:

  1. 如何在SQL Agent中记录错误?我们可以使用任何日志/事件? (以便我们可以看到SQL代理作业在几天内失败,以及为什么失败)
  2. 我希望SQL作业继续执行(删除)Table2中的特定记录,即使由于任何原因从Table1中删除失败,任何最佳实践如何实施?

回答

5

我假设你是指Microsoft SQL Server?

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

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

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

编辑:
首先,here是你的第一个问题教程 - 如何建立通知,让你得到一个电子邮件时,作业将失败。

对于第二个问题,您需要打开SQL Server代理作业的属性。 我发现了属性窗口here的英文截图。
看看图片 - 您必须选择左侧的“步骤”,然后您才能在右侧看到工作的不同步骤。请注意右侧的“成功”和“失败”栏,这就是我的意思。编辑该步骤时,您可以编辑这些值。

+0

是的,我的意思是SQL Server作业。对于你所倡导的项目 - “进入下一步”或“有错误的结束工作”,我没有看到要设置的位置。有任何想法吗?我正在使用SQL Server 2008.我是SQL Server代理作业的新手。 – George2 2009-06-25 13:00:15