Инструкции транзакций (Transact-SQL)

Транзакция является единственной единицей работы. Если транзакция выполнена успешно, все модификации данных, сделанные в течение транзакции, принимаются и становятся постоянной частью базы данных. Если в результате выполнения транзакции происходят ошибки и должна быть произведена отмена или выполнен откат, все модификации данных будут отменены.

SQL Server работает в следующих режимах транзакций.

  • Автоматическое принятие транзакций
    Каждая отдельная инструкция является транзакцией.

  • Явные транзакции
    Каждая транзакция явно начинается с инструкции BEGIN TRANSACTION и явно заканчивается инструкцией COMMIT или ROLLBACK.

  • Неявные транзакции
    Новая транзакция неявно начинается, когда предыдущая транзакция завершена, но каждая транзакция явно завершается инструкцией COMMIT или ROLLBACK.

  • Транзакции контекста пакета
    Будучи применимой только к множественным активным результирующим наборам (MARS), явная или неявная транзакция Transact-SQL, которая запускается в сеансе MARS, становится транзакцией контекста пакета. SQL Server автоматически выполняет откат транзакции контекста пакета, если эта транзакция не зафиксирована или выполнен ее откат при завершении пакета.

В этом разделе

SQL Server предоставляет следующие инструкции транзакций.

BEGIN DISTRIBUTED TRANSACTION

ROLLBACK TRANSACTION

BEGIN TRANSACTION

ROLLBACK WORK

COMMIT TRANSACTION

SAVE TRANSACTION

COMMIT WORK

См. также

Справочник

SET IMPLICIT_TRANSACTIONS (Transact-SQL)

@@TRANCOUNT (Transact-SQL)