Transacciones y simultaneidadTransactions and Concurrency

Una transacción consiste en un comando único o en un grupo de comandos que se ejecutan como un paquete.A transaction consists of a single command or a group of commands that execute as a package. Las transacciones permiten combinar varias operaciones en una sola unidad de trabajo.Transactions allow you to combine multiple operations into a single unit of work. Si en un punto de la transacción se produjera un error, todas las actualizaciones podrían revertirse y devolverse al estado que tenían antes de la transacción.If a failure occurs at one point in the transaction, all of the updates can be rolled back to their pre-transaction state.

Una transacción debe ajustarse a las propiedades ACID (atomicidad, coherencia, aislamiento y durabilidad) para poder garantizar la coherencia de datos.A transaction must conform to the ACID properties—atomicity, consistency, isolation, and durability—in order to guarantee data consistency. La mayoría de los sistemas de bases de datos relacionales, como Microsoft SQL Server, admiten transacciones, al proporcionar funciones de bloqueo, registro y administración de transacciones cada vez que una aplicación cliente realiza una operación de actualización, inserción o eliminación.Most relational database systems, such as Microsoft SQL Server, support transactions by providing locking, logging, and transaction management facilities whenever a client application performs an update, insert, or delete operation.

Nota

Las transacciones que requieren varios recursos pueden reducir la simultaneidad si la duración del bloqueo es demasiado larga.Transactions that involve multiple resources can lower concurrency if locks are held too long. Por ello, haga la transacción lo más corta posible.Therefore, keep transactions as short as possible.

Las transacciones explícitas en procedimientos almacenados suelen dar mejores resultados cuando una transacción implica el uso de varias tablas en la misma base de datos o servidor.If a transaction involves multiple tables in the same database or server, then explicit transactions in stored procedures often perform better. Se pueden crear transacciones en procedimientos almacenados de SQL Server mediante las instrucciones BEGIN TRANSACTION, COMMIT TRANSACTION o ROLLBACK TRANSACTION de Transact-SQL.You can create transactions in SQL Server stored procedures by using the Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTION, and ROLLBACK TRANSACTION statements. Para obtener más información, vea los Libros en pantalla de SQL Server.For more information, see SQL Server Books Online.

Las transacciones que implican diferentes administradores de recursos, como una transacción entre SQL Server y Oracle, requieren una transacción distribuida.Transactions involving different resource managers, such as a transaction between SQL Server and Oracle, require a distributed transaction.

En esta secciónIn This Section

Transacciones localesLocal Transactions
Muestra cómo realizar transacciones en una base de datos.Demonstrates how to perform transactions against a database.

Transacciones distribuidasDistributed Transactions
Describe cómo realizar transacciones distribuidas en ADO.NET.Describes how to perform distributed transactions in ADO.NET.

Integración de System.Transactions con SQL ServerSystem.Transactions Integration with SQL Server
Describe System.Transactions la integración con SQL Server para trabajar con transacciones distribuidas.Describes System.Transactions integration with SQL Server for working with distributed transactions.

Simultaneidad optimistaOptimistic Concurrency
Describe la simultaneidad optimista y pesimista, y cómo puede probar las infracciones de simultaneidad.Describes optimistic and pessimistic concurrency, and how you can test for concurrency violations.

Vea tambiénSee also