Delen via


Transacties (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric Preview

Een transactie is één werkeenheid. Als een transactie is geslaagd, worden alle gegevenswijzigingen die tijdens de transactie zijn aangebracht, doorgevoerd en worden ze een permanent onderdeel van de database. Als een transactie fouten tegenkomt en moet worden geannuleerd of teruggedraaid, worden alle gegevenswijzigingen gewist.

SQL Server werkt in de volgende transactiemodi:

Transactiemodus Description
Autocommit-transacties Elke afzonderlijke instructie is een transactie.
Expliciete transacties Elke transactie wordt expliciet gestart met de BEGIN TRANSACTION instructie en wordt expliciet beëindigd met een COMMIT of-instructie ROLLBACK .
Impliciete transacties Een nieuwe transactie wordt impliciet gestart wanneer de vorige transactie is voltooid, maar elke transactie wordt expliciet voltooid met een COMMIT of-instructie ROLLBACK .
Batch-scoped transacties Alleen van toepassing op meerdere actieve resultatensets (MARS): een Transact-SQL expliciete of impliciete transactie die onder een MARS-sessie begint, wordt een transactie met batch-bereik. Een transactie met batchbereik die niet wordt doorgevoerd of teruggedraaid wanneer een batch is voltooid, wordt automatisch teruggedraaid door SQL Server.

Zie Transacties in Fabric Data Warehouse of Transactions (Azure Synapse Analytics) voor speciale overwegingen met betrekking tot datawarehouse-producten.

Syntaxis van transactiebeheer

De SQL Database Engine bevat de volgende transactieinstructies: