Основы языка TRANSACT SQL. Казакова И.А. - 130 стр.

UptoLike

Составители: 

129
16. Управление транзакциями
Современные СУБД являются многопользовательскими. Сле-
довательно, всегда есть возможность одновременного обращения
нескольких пользователей к одной базе данных и даже к одним и
тем же данным. При этом возникает масса проблем, связанных с
попытками одновременного изменения или удаления данных.
Во избежание таких ситуаций в СУБД вводится понятие тран-
закции.
Транзакция это неделимая, с точки зрения воздействия на
базу данных, последовательность операций обработки данных, ко-
торая выполняется как единое целое и переводит базу данных из
одного целостного состояния в другое.
Разработчик приложений исходя из смысла обработки данных
определяет, какая последовательность операций составляет единое
целое, т.е. транзакцию.
16.1. Определение транзакций
SQL Server поддерживает три вида определения транзакций:
явное;
автоматическое;
подразумеваемое.
По умолчанию SQL Server работает в режиме автоматического
начала транзакций, где каждая команда рассматривается как от-
дельная транзакция. Если команда выполнена успешно, то ее изме-
нения фиксируются. Если при выполнении команды произошла
ошибка, то сделанные изменения отменяются и система возвраща-
ется в первоначальное состояние.
Когда пользователю понадобится создать транзакцию, вклю-
чающую несколько команд, он должен явно указать транзакцию.
Сервер работает только в одном из двух режимов определения
транзакций: автоматическом или подразумевающемся. Он не может
находиться в режиме исключительно явного определения транзак-
ций. Этот режим работает поверх двух других.
Для установки режима автоматического определения транзак-
ций используется команда
SET IMPLICIT_TRANSACTIONS OFF;
           16. Управление транзакциями
     Современные СУБД являются многопользовательскими. Сле-
довательно, всегда есть возможность одновременного обращения
нескольких пользователей к одной базе данных и даже к одним и
тем же данным. При этом возникает масса проблем, связанных с
попытками одновременного изменения или удаления данных.
     Во избежание таких ситуаций в СУБД вводится понятие тран-
закции.
     Транзакция – это неделимая, с точки зрения воздействия на
базу данных, последовательность операций обработки данных, ко-
торая выполняется как единое целое и переводит базу данных из
одного целостного состояния в другое.
     Разработчик приложений исходя из смысла обработки данных
определяет, какая последовательность операций составляет единое
целое, т.е. транзакцию.

             16.1. Определение транзакций
      SQL Server поддерживает три вида определения транзакций:
       явное;
       автоматическое;
       подразумеваемое.
      По умолчанию SQL Server работает в режиме автоматического
начала транзакций, где каждая команда рассматривается как от-
дельная транзакция. Если команда выполнена успешно, то ее изме-
нения фиксируются. Если при выполнении команды произошла
ошибка, то сделанные изменения отменяются и система возвраща-
ется в первоначальное состояние.
      Когда пользователю понадобится создать транзакцию, вклю-
чающую несколько команд, он должен явно указать транзакцию.
      Сервер работает только в одном из двух режимов определения
транзакций: автоматическом или подразумевающемся. Он не может
находиться в режиме исключительно явного определения транзак-
ций. Этот режим работает поверх двух других.
      Для установки режима автоматического определения транзак-
ций используется команда
               SET IMPLICIT_TRANSACTIONS OFF;

                              129