Condividi tramite


Transazioni e concorrenza (ADO.NET)

Una transazione è costituita da un singolo comando o da un gruppo di comandi che vengono eseguiti come un pacchetto. Le transazioni consentono di combinare più operazioni in un'unica unità di lavoro. Se si verifica un problema in un determinato punto della transazione, sarà possibile annullare tutti gli aggiornamenti ripristinando la condizione antecedente all'inizio della transazione.

Per poter garantire la coerenza dei dati, una transazione deve essere conforme alle proprietà ACID, ovvero atomicità, coerenza, isolamento e durabilità. La maggioranza dei sistemi di database relazionale, ad esempio Microsoft SQL Server, supportano le transazioni fornendo funzionalità di blocco, di registrazione e di gestione delle transazioni volta che un'applicazione client esegue un'operazione di aggiornamento, inserimento o eliminazione.

NotaNota

Le transazioni che implicano l'utilizzo di più risorse possono abbassare la concorrenza se i blocchi vengono mantenuti troppo a lungo.Mantenere pertanto le transazioni per il minor tempo possibile.

Se una transazione implica l'utilizzo di più tabelle nello stesso database o server, è spesso preferibile utilizzare transazioni esplicite nelle stored procedure. È possibile creare transazioni in stored procedure SQL Server utilizzando le istruzioni Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTION e ROLLBACK TRANSACTION. Per ulteriori informazioni, vedere la documentazione online di SQL Server.

Per le transazioni che implicano l'utilizzo di gestori di risorse diversi, ad esempio una transazione tra SQL Server e Oracle, è necessaria una transazione distribuita.

In questa sezione

Vedere anche

Concetti

DbProviderFactory (ADO.NET)

Altre risorse

Transaction Fundamentals

Connessione a un'origine dati (ADO.NET)

Comandi e parametri (ADO.NET)

DataAdapter e DataReader (ADO.NET)