错误

时间:2016-06-24 20:49:24

标签: sql-server-2012 try-catch

我们正在使用SQL Server 2012.我们有一个脚本,它执行多个存储过程并由SQL Server代理运行。直到上个月发生错误时,'Try-Catch'将记录错误并继续处理下一个存储过程。

现在遇到错误时,会记录错误,但是,SQL Agent会在此时中止错误。

我们希望在遇到错误时继续处理,因为所有存储过程都是独立的。

以下是代码片段:

begin try
    INSERT rs_tracking
        SELECT 'RS_Build_Time_Tracker', GETDATE(), Null

    EXECUTE [EDW].[dbo].[Build_BH_RS_Time_Tracker_SRC]

    SELECT NULL;
end try
begin catch
    INSERT rs_tracking
        SELECT 'RS_Build_Time_Tracker',GETDATE(), ERROR_Message();

    EXECUTE [EDW].[dbo].[Build_BH_RS_Time_Tracker_SRC]
end catch

begin try
    INSERT rs_tracking
       SELECT 'Build_Client_Rank1',GETDATE(), Null

    EXECUTE [EDW].[dbo].[Build_BH_Client_Rank1_SRC]

    SELECT NULL;
end try
begin catch
    INSERT rs_tracking
        SELECT 'Build_Client_Rank1',GETDATE(), ERROR_Message();

    EXECUTE [EDW].[dbo].[Build_BH_Client_Rank1_SRC]
end catch

begin try
INSERT rs_tracking
SELECT 'Build_Client_Rank2',GETDATE(), Null
EXECUTE [EDW].[dbo].[Build_BH_Client_Rank2_SRC]
  SELECT NULL;
end try
begin catch
INSERT rs_tracking
SELECT 'Build_Client_Rank2',GETDATE(), ERROR_Message();
EXECUTE [EDW].[dbo].[Build_BH_Client_Rank2_SRC]
 end catch

0 个答案:

没有答案