[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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |