Поделиться через


Транзакции (Transact-SQL)

Относится к:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceWarehouse в Microsoft FabricSQL база данных в Microsoft Fabric

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

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

Режим транзакции Description
Операции автокоммитирования Каждая отдельная инструкция является транзакцией.
Явные транзакции Каждая транзакция явно запускается с инструкцией BEGIN TRANSACTION и явно заканчивается оператором или COMMIT операторомROLLBACK.
Неявные транзакции Новая транзакция неявно запускается при завершении предыдущей транзакции, но каждая транзакция явно завершается с помощью COMMIT инструкции или ROLLBACK инструкции.
Транзакции с областью пакетной службы Будучи применимой только к множественным активным результирующим наборам (режим MARS), явная или неявная транзакция Transact-SQL, которая запускается в сеансе режима MARS, становится транзакцией контекста пакета. Транзакция с пакетной областью, которая не фиксируется или откатывается, когда пакет завершается автоматически откатом SQL Server.

Дополнительные сведения, связанные с продуктами хранилища данных, см. в статьях "Транзакции" в хранилище данных Fabric или транзакции (Azure Synapse Analytics).

Синтаксис элемента управления транзакцией

Ядро СУБД SQL предоставляет следующие инструкции транзакций: