从存储过程中调用存储过程会间歇性地失败

时间:2013-11-20 13:44:09

标签: sql-server stored-procedures

我有一个调用存储过程的报告,而该存储过程又调用存储过程。

母公司是一项汇总费用与收入相比多年合约的公司。

子sp返回单个预算年度的原始数据。

大部分时间都很漂亮。但是,有时我们会得到一个错误,即无法找到子sp中的第一个字段。该字段来自简单的选择语句。

问题似乎发生在服务器负载较重的一天中。

以下是调用子sp的父sp的部分:

declare c_by cursor for (select ccbyId from #budgetYears)
open c_by
fetch next from c_by into @c_byId
while @@FETCH_STATUS=0
Begin

begin try

    insert into #fullDataSet 
    EXEC [dbo].[rptByToDate]
        @ClientContractBudgetYear   = @c_byId 
        ,@userID                    = @userID 
        ,@DBName                    = @DBName 


end try
begin catch

    IF @@TRANCOUNT > 0
    ROLLBACK

    DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
    SELECT @ErrMsg = ERROR_MESSAGE(),
         @ErrSeverity = ERROR_SEVERITY()

    RAISERROR(@ErrMsg, @ErrSeverity, 1)

end catch

fetch next from c_by into @c_byId
End
close c_by
deallocate c_by

我缺少什么?

0 个答案:

没有答案