Condividi tramite


Transactions (Transact-SQL)

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

Una transazione corrisponde a una singola unità di lavoro. Se la transazione viene eseguita correttamente, viene eseguito il commit di tutte le modifiche dei dati apportate durante la transazione e tali modifiche diventano parte permanente del database. Se si verificano errori durante l'esecuzione della transazione ed è necessario annullarla o eseguirne il rollback, verranno cancellate tutte le modifiche dei dati.

SQL Server supporta le modalità per le transazioni seguenti:

Transaction mode Description
Autocommit transactions Ogni istruzione corrisponde a una transazione.
Explicit transactions Ogni transazione viene avviata in modo esplicito con l'istruzione BEGIN TRANSACTION e terminata in modo esplicito con un'istruzione COMMIT o ROLLBACK .
Implicit transactions Una nuova transazione viene avviata in modo implicito al completamento della transazione precedente, ma ogni transazione viene completata in modo esplicito con un'istruzione COMMIT o ROLLBACK .
Batch-scoped transactions Applicabile solo a MARS (Multiple Active Result Set). Una transazione definita a livello di ambito di batch è una transazione Transact-SQL esplicita o implicita che inizia in una sessione MARS. Una transazione con ambito batch di cui non viene eseguito il commit o il rollback quando viene completato automaticamente il rollback di un batch da SQL Server.

Per considerazioni speciali relative ai prodotti data warehouse, vedere Transazioni (Azure Synapse Analytics e Microsoft Fabric).

In questa sezione

In SQL Server sono disponibili le seguenti istruzioni Transaction: