【问题标题】:How can I obtain the description of the error when a job fails?作业失败时如何获取错误描述?
【发布时间】:2015-04-08 10:20:23
【问题描述】:

我在 SQL Server Agent (SQL Server Management Studio 2012) 中创建了一个作业,该作业执行一系列 Transact-SQL 脚本。我还设置了一个通知,以在“作业失败时”发送电子邮件。

如何配置通知以便电子邮件包含错误描述?例如,我想知道这是死锁问题还是主键违规问题。

【问题讨论】:

  • @Sai 这根本不值得编辑,所以请不要再做这种事情了。在您添加反引号以将绝对不是代码的内容转换为代码块之前,这篇文章同样具有可读性。
  • @AnthonyGrist,我同意这是一次错误的点击。所以我纠正了它。
  • 是否可以将您的 sql 脚本引入单个存储过程,然后您可以使用 try/catch 并在 catch 中将错误写入临时表。
  • 你做过研究吗?网上有很多脚本可以为你做到这一点。
  • 我希望在工作的适当性中有一个方法。不过,我会将脚本应用到存储过程中。非常感谢。

标签: sql sql-server jobs ssms sql-agent-job


【解决方案1】:

除了来自 Cmets 中 Nack.McDermaid 的非常明显的建议之外,您还可以执行以下操作: 用

包裹你的过程的各个部分
BEGIN TRY
--your code
END TRY
BEGIN CATCH
INSERT log_table (some_col)
SELECT ERROR_MESSAGE()
END CATCH

或类似的东西。只需在 SO 或其他地方查找一些关于登录的优秀指南。

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 2014-09-18
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多