11 ago 2010

Transacciones en SQL Server

Una transacción es una sola operación o un conjunto de operaciones que tiene éxito o no, lo que asegura la consistencia de los datos si ocurre un error por circunstancias no previstas.

Las transacciones nos permiten asegurar consistencia en nuestros datos mediante cuatro principios básicos. Estos principios proporcionan un conjunto de reglas que deben seguirse en orden para que nuestra transacción tenga éxito. Los cuatro principios ayudan a asegurar que el estado de nuestros datos es átomico, consistente, aislado y durable, sin importar el éxito o la falla de la transacción.

Atomicidad
Las operaciones tienen éxito o fallan juntas. La transacción se considera completa si todos los pasos tienen éxito.

Consistencia
Las operaciones dejan la base de datos en un estado consistente. La transacción lleva la base de datos de un estado estable a otro, sin que se violen reglas antes del principio o después del final de la transacción.

Aislamiento
Cada transacción es una entidad independiente. Una transacción no afectará ninguna otra que se ejecute al mismo tiempo.

Durabilidad
Cada transacción es persistente en un medio confiable que no puede deshacerse por fallas del sistema. Además, si ocurre una falla del sistema en medio de una transacción éste debe deshacer los pasos completados, o deben ejecutarse los pasos no completados hasta el final de la transacción. Esto suele suceder por el uso de un registro que puede reproducirse para regresar el sistema a un estado consistente.

Una transacción puede funcionar con un solo recurso, como una base de datos, o varios recursos, como varias bases de datos o colas de mensajes. Las transacciones limitadas a un solo recurso se denominan transacciones locales, y las que abarcan varios recursos se denominan transacciones distribuidas.

SQL Server, como cualquier motor de base de datos importante, proporciona soporte integrado que le permite envolver una o más consultas dentro de una transacción. Las locales (transacciones que se relacionan con una base de datos física) operan en uno de cuatro modos de transacción:

  • De autoconfirmación
  • Explícito
  • Implícito
  • De alcance del proceso por lotes

No hay comentarios.: