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


Transactions (Transact-SQL)

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL database in Microsoft Fabric

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

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

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

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

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

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