Для меня в данном случае речь идет об условных обозначениях кода и их соблюдении. Это точно не навредит. Но если у вас есть соглашение всегда включать SET NOCOUNT, XACT_ABORT ON;
в начале хранимой процедуры - сделайте это.
В нашей системе мы включаем XACT_ABORT
в подпрограммы, имеющие TRY_CATCH
блоки и транзакции. Например, шаблон выглядит так:
SET NOCOUNT, XACT_ABORT ON;
-- CODE BLOCKS PREPARING DATA FOR CRUD
BEGIN TRY
BEGIN TRANSACTION;
-- CODE BLOCK PERFOMRING CRUD
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN;
ROLLBACK TRANSACTION;
END;
-- LOG ERRORS DETAILS OR THROW ERROR;
END CATCH;
SET NOCOUNT, XACT_ABORT ON;
RETURN;