Ошибка, которую вы получаете, находится в вашем процессе, который выполняется в вашем цикле курсора, может быть попытаться поймать ИСКЛЮЧЕНИЕ В ВАШЕМ ПРОЦЕССЕ и сохранить его в физической таблице, как показано ниже, так что всякий раз, когда вы выполняете код курсора, ваши исключения будут сохраняться втаблицу и позже вы можете отслеживать их.
BEGIN CATCH
insert into physical_table(errornumber int,errormessgae varchar(2000),ErrorLine int)
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_MESSAGE() AS ErrorMessage
,ERROR_LINE() AS ErrorLine
END CATCH
или Иначе вы также можете создать физическую таблицу в вашем курсоре CATCH BLOCK, как показано ниже, чтобы получить, какой элемент получил исключение:
BEGIN CATCH
insert into physical_table(errornumber int,errormessgae varchar(2000),item datatype)
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_MESSAGE() AS ErrorMessage
,@Item
END CATCH