日志满了导致job执行失败,
想问的是job调用的存储过程中怎么捕捉不到异常吗??
IF @@ERROR <> 0
BEGIN
GOTO Error_Handler
END --。Error_Handler:
BEGIN
--发送邮件
END
想问的是job调用的存储过程中怎么捕捉不到异常吗??
IF @@ERROR <> 0
BEGIN
GOTO Error_Handler
END --。Error_Handler:
BEGIN
--发送邮件
END
过程执行失败可以捕捉,但是JOB没执行等过程没执行,就捕捉不到.
那就没有内部错误之说
内部的存储过程执行的话才会纪录日志之类的吧
关于SQL Server的错误严重性级别的说明,强烈认真看一下下面的两个链接脱机帮助ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/sqlerrm9/html/3e7f5925-6edd-42e1-bf17-f7deb03993a7.htm在线帮助http://technet.microsoft.com/zh-cn/library/ms164086.aspx简而言之,SQL Server的错误严重性分为三个等级1. 轻微错误 :严重性级别为0-102. 中等错误 :严重性级别为11-193. 严重错误 :严重性级别为20-25SQL Server保存的所有错误消息是可以通过检索sys.messages这个视图来查看的,如下select * from sys.messages where
为什么需要说这个呢?是因为我们需要知道不同的错误严重性级别所导致的行为是不一样的1. 轻微错误 :严重性级别为0-10 ==》默认情况下不会给客户程序发送错误消息,继续工作。也就是说它无法被CATCH到2. 中等错误 :严重性级别为11-19 ==》能够被CATCH到(不管是在T-SQL里面还是在客户程序里面)3. 严重错误 :严重性级别为20-25 ==》SQL Server将强制把连接关掉。很显然这也不可能被CATCH到