transacciones

Solo disponible en BuenasTareas
  • Páginas : 5 (1015 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de octubre de 2013
Leer documento completo
Vista previa del texto
IT DE CD. VALLES

RESUMEN

DESARROLLO SUSTENTABLE

INSTITUTO TECNOLÓGICO DE CIUDAD VALLES
INGENIERÍA EN SISTEMAS COMPUTACIONALES

TALLER DE BASE DE DATOS
TRANSACCIONES DE BASE DE DATOS

ELABORADO POR:

Omar David Ruiz Larraga

Página 1

1 Controlar transacciones (motor de base de datos)
Las aplicaciones controlan las transacciones principalmente al especificar cuándo se iniciay
finaliza una transacción. Se pueden especificar mediante instrucciones Transact-SQL o
funciones de la interfaz de programación de aplicaciones (API) de bases de datos. El sistema
también debe ser capaz de controlar correctamente los errores que terminan una transacción
antes de que se concluya.
De manera predeterminada, las transacciones se administran en las conexiones. Cuando se
iniciauna transacción en una conexión, todas las instrucciones Transact-SQL ejecutadas en
esa conexión forman parte de la transacción hasta que ésta finaliza. No obstante, en una sesión
de conjunto de resultados activos múltiples (MARS), una transacción de Transact-SQL
explícita o implícita se convierte en una transacción de lote que se administra en los lotes.
Cuando se termina el lote, si latransacción de lote no se confirma ni se revierte, SQL Server la
revierte automáticamente.

Iniciar transacciones
Mediante funciones de la API e instrucciones Transact-SQL, puede iniciar transacciones en
una instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) como
transacciones explícitas, de confirmación automática o implícitas. En una sesión de MARS,
lastransacciones de Transact-SQL explícitas e implícitas se convierten en transacciones de
lote.
Transacciones explícitas
Inicie una transacción de forma explícita mediante una función de la API o emitiendo la
instrucción Transact-SQL BEGIN TRANSACTION.
Transacciones de confirmación automática
El modo predeterminado para el Motor de base de datos. Cada instrucción Transact-SQL se
confirma cuando termina.No tiene que especificar instrucciones para controlar las
transacciones.

Transacciones implícitas
Establezca el modo de transacción implícita a través de una función de la API o la instrucción
SET IMPLICIT_TRANSACTIONS ON de Transact-SQL. La siguiente instrucción inicia
automáticamente una nueva transacción. Cuando se concluye la transacción, la instrucción
Transact-SQL siguiente iniciauna nueva transacción.
Transacciones de lote
Una transacción Transact-SQL explícita o implícita que se inicia en una sesión de MARS se
convierte en una transacción de lote, y es sólo aplicable a conjuntos de resultados activos
múltiples (MARS). Si una transacción de lote no se confirma ni se revierte cuando se termina
un lote, queda revertida por SQL Server automáticamente.
Los modos detransacción se administran en las conexiones. Si una conexión cambia de un
modo de transacción a otro, no tiene efecto sobre los modos de transacción de otras
conexiones.

Finalizar transacciones
Puede finalizar las transacciones con una instrucción COMMIT o ROLLBACK, o mediante
una función de la API.
COMMIT
Si una transacción es correcta, confírmela. La instrucción COMMIT garantiza que todaslas
modificaciones de la transacción se conviertan en una parte permanente de la base de datos. La
instrucción COMMIT también libera recursos que utiliza la transacción como, por ejemplo,
los bloqueos.
ROLLBACK
Si se produce un error en una transacción o el usuario decide cancelar la transacción, revierta
la transacción. La instrucción ROLLBACK revierte todas las modificaciones realizadas enla

transacción al devolver los datos al estado en que estaban al inicio de la transacción. La
instrucción ROLLBACK también libera los recursos que mantiene la transacción.

Especificar los límites de la transacción
Puede identificar si las transacciones de Motor de base de datos se inician y finalizan con
instrucciones Transact-SQL o con funciones y métodos de la API.
Instrucciones...
tracking img