Dela via


Transaktioner (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Förhandsversion av Microsoft Fabric

En transaktion är en enda arbetsenhet. Om en transaktion lyckas checkas alla dataändringar som görs under transaktionen in och blir en permanent del av databasen. Om en transaktion stöter på fel och måste avbrytas eller återställas raderas alla dataändringar.

SQL Server fungerar i följande transaktionslägen:

Transaktionsläge Description
Automatiskt återtagande av transaktioner Varje enskild instruktion är en transaktion.
Explicita transaktioner Varje transaktion startas uttryckligen med -instruktionen BEGIN TRANSACTION och avslutades uttryckligen med en eller COMMIT -ROLLBACKinstruktion.
Implicita transaktioner En ny transaktion startas implicit när den tidigare transaktionen slutförs, men varje transaktion slutförs uttryckligen med en eller COMMIT -ROLLBACKinstruktion.
Batch-begränsade transaktioner Gäller endast för flera aktiva resultatuppsättningar (MARS) blir en Transact-SQL explicit eller implicit transaktion som startar under en MARS-session en batchomfattande transaktion. En batchomfattande transaktion som inte checkas in eller återställs när en batch slutförs återställs automatiskt av SQL Server.

Särskilda överväganden som rör informationslagerprodukter finns i Transaktioner i Fabric Data Warehouse eller Transaktioner (Azure Synapse Analytics).

Syntax för transaktionskontroll

SQL Database Engine innehåller följande transaktionsinstruktioner: