Рекомендуется ли установка XACT_ABORT «ON» для операции чтения? - PullRequest
0 голосов
/ 09 апреля 2020

Нужно ли устанавливать XACT_ABORT «ON» в хранимой процедуре, если она содержит только операцию чтения?

1 Ответ

0 голосов
/ 09 апреля 2020

Для меня в данном случае речь идет об условных обозначениях кода и их соблюдении. Это точно не навредит. Но если у вас есть соглашение всегда включать 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...