gpt4 book ai didi

sql-server - 如果作业中的任何步骤失败,则通知运算符(operator)

转载 作者:行者123 更新时间:2023-12-02 07:21:07 31 4
gpt4 key购买 nike

我可以(如何)配置 Sql Server 2008 以在作业中的任何步骤失败时通知运算符(operator)?

我有一个 Sql Server 作业,其中包含几个步骤来更新来自多个不同源的数据,最后一步是对数据执行多项计算。所有“数据刷新”步骤均设置为“失败时转到下一步”。一般来说,如果其中一次数据刷新失败,我仍然希望运行最后一步,但我仍然希望收到有关中间失败的通知,因此如果它们持续失败,我可以进行调查。

最佳答案

我们是这样做的。我们添加最后一个 T-SQL 步骤(通常称为“检查步骤”)

SELECT  step_name, message
FROM msdb.dbo.sysjobhistory
WHERE instance_id > COALESCE((SELECT MAX(instance_id) FROM msdb.dbo.sysjobhistory
WHERE job_id = $(ESCAPE_SQUOTE(JOBID)) AND step_id = 0), 0)
AND job_id = $(ESCAPE_SQUOTE(JOBID))
AND run_status <> 1 -- success

IF @@ROWCOUNT <> 0
RAISERROR('Ooops', 16, 1)

请注意,此代码使用 tokens in job steps ($(...) 部分),因此代码无法按原样在 SSMS 中执行。它基本上尝试在 sysjobhistory 中查找当前作业的先前步骤的条目并查找失败状态。

在“属性”->“高级”中,您还可以选中在历史记录中包含步骤输出以获取步骤失败的消息。将失败操作保留为退出报告失败的作业

关于sql-server - 如果作业中的任何步骤失败,则通知运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858472/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com