我有一个存储过程,每晚都会由 windows 任务计划执行。关于存储过程的执行,我只需要知道以下 3 件事:
1. 任务执行的存储过程是按计划执行的吗?
2. 存储过程是否执行但有错误?
3、存储过程执行成功了吗?
我创建了一个表格来保存这些信息。该表有两个字段:日期时间和说明。
在我的存储过程结束时,我编写了一个插入语句,每次运行都会在我的表中插入一条记录(参见下面的代码)。但我需要定义两个插入(参见上面的第 2 和第 3 项),3(成功)或 2(有错误)。数字 1 是当 sp 未执行时,因此没有记录插入到表中。我使用了以下语句,但它不起作用,因为在插入表之前发生错误时,存储过程会停止,因此插入永远不会发生。
IF @@ROWCOUNT > 0 and @@ERROR = 0
BEGIN
insert into Table1
select GETDATE(), 'Successfully'
END
ELSE
insert into Table1
select GETDATE(), 'With errors'
你知道解决这个问题的好方法吗?我可以使用哪些语句在此表中保存记录?
我正在使用 SQL Server 2005。
PS 此数据将显示在报告中:我将编写一个查询,该查询必须返回表中的所有数据 + 从开始到截止日期之间表中不存在的日期。