如何处理 SQL 代理作业错误?
Posted
技术标签:
【中文标题】如何处理 SQL 代理作业错误?【英文标题】:How to handle SQL Agent job error? 【发布时间】:2010-11-05 18:41:09 【问题描述】:我正在编写一个 SQL 代理作业,以每天一次从表 1 和表 2 中删除行。 SQL Agent作业的步骤是:
-
从表 1 中删除一些特定记录
从表 2 中删除一些特定记录。
我的问题是:
-
如何记录SQL Agent过程中的错误?我们可以使用任何日志/事件吗? (以便我们了解 SQL 代理作业在哪几天失败,以及失败的原因。)
我希望 SQL 作业继续执行(删除)表 2 中的特定记录,即使出于某种原因从表 1 中删除失败,任何最佳实践如何实现?
【问题讨论】:
【参考方案1】:我假设您的意思是 Microsoft SQL Server?
如果是,这两件事都很容易做到。
只需查看 SQL 代理作业的属性即可。在“通知”下,您可以告诉作业写入 Windows 日志或向您发送电子邮件(但在此之前,您必须为每个服务器配置一次电子邮件)。 您可以选择是仅在失败时发生、仅在成功时发生还是始终发生。
您可以在作业中定义不同的步骤。对于每个步骤,您可以定义如果失败时会发生什么以及成功时会发生什么(例如“转到下一步”或“结束有错误的作业”)。
编辑: 首先,here 是针对您的第一个问题的教程 - 如何设置通知以便在作业失败时收到电子邮件。
对于第二个问题,您需要打开 SQL Server 代理作业的属性。 我找到了属性窗口here的英文截图。 看图——你必须选择左边的“步骤”,然后你可以在右边看到工作的不同步骤。请注意右侧的“成功”和“失败”列,这就是我的意思。您可以在编辑步骤时编辑这些值。
【讨论】:
是的,我的意思是 SQL Server 作业。对于您提到的项目-“转到下一步”或“错误结束作业”,我没有看到在哪里设置。有任何想法吗?我正在使用 SQL Server 2008。我是 SQL Server 代理作业的新手。 我不确定它们是否完全像这样命名。我在德国,我的 SQL Server 是德语的。我只知道德语项目名称,我自己将它们翻译成英文。我看看能不能找到英文截图……以上是关于如何处理 SQL 代理作业错误?的主要内容,如果未能解决你的问题,请参考以下文章
如何处理Docker的错误消息request canceled:Docker代理问题
如何处理我在尝试通过 Pyspark 从 SQL 写入 Kudu 时遇到的这个错误