微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[SQLServer2005] 让作业自已报错,然后再重新启用.

我们可以设定一个sqlserver的job执行失败后,隔多长时间再重复执行。

 

以下是一个job调用的存储过程中的一段代码,当遇到第一种情况"1.未找到web文件",假定这个错误可以自动修复。我们可以通知其它作业去执行相关任务(如重新下载web网页),  然后让job报错,根据你上面的设置,job隔一定的时间会再次运行(比如web下载完成之后),达到了自动修复错误的目的。 

 

(当然如果是第2种情况,估计让job重复执行也是无效滴)

 

 -- 判断是否解析成功: 0,正常; 1,未找到合格的待解析(web)文件; 2,解析参数有误

 if (@i_result > 0)

 begin

     select @str_log = sysmessage

       from t_sys_message(nolock) where msgid = @i_result;

     set @str_log = @str_log + @str_webfilepath;

     exec p_base_writelog @@procid, 1,'Parser',@str_log;

 

     if (@i_result = 1 )

     begin

          --重新下载网页

          execute p_job_download_web 'stockbillsize';

          --通知作业报错

          raiserror ('error: no web to be parse.', -- message text.

                   16, -- severity.

                   1 -- state.

                  );

     end

     return 1;  --退出

 end

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐