Bueno cumpliendo con la tarea aquí le dejo mi investigación sobre las transacciones y pues lo que pude entender sobre esto es que estas nos sirven para verificar si todas las modificaciones se hacen correctamente en las bases de datos ya que si hay errores no nos permite hacer esto. Al mismo tiempo me di cuenta de la importancia que tienen los puntos de confirmación y revisión de los cuales también dejo una pequeña explicación.
TRANSACCIONES (TRANSACT-SQL)
Una transacción es una unidad única de trabajo. Si una transacción tiene éxito, todas las modificaciones de los datos realizadas durante la transacción se confirman y se convierten en una parte permanente de la base de datos. Si una transacción encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos.
SQL Server funciona en los siguientes tres modos de transacción.
Transacciones de confirmación automática
Cada instrucción individual es una transacción.
Transacciones explícitas
Cada transacción se inicia explícitamente con la instrucción BEGIN TRANSACTION y se termina explícitamente con una instrucción COMMIT o ROLLBACK.
Transacciones implícitas
Se inicia implícitamente una nueva transacción cuando se ha completado la anterior, pero cada transacción se completa explícitamente con una instrucción COMMIT o ROLLBACK.
Transacciones de ámbito de lote
Una transacción implícita o explícita de Transact-SQL que se inicia en una sesión de MARS (conjuntos de resultados activos múltiples), que sólo es aplicable a MARS, se convierte en una transacción de ámbito de lote. Si no se confirma o revierte una transacción de ámbito de lote cuando se completa el lote, SQL Server la revierte automáticamente.
COMMIT
Marca el final de una transacción correcta, implícita o explícita. Si @@TRANCOUNT es 1, COMMIT TRANSACTION hace que todas las modificaciones efectuadas sobre los datos desde el inicio de la transacción sean parte permanente de la base de datos, libera los recursos mantenidos por la transacción y reduce @@TRANCOUNT a 0. Si @@TRANCOUNT es mayor que 1, COMMIT TRANSACTION sólo reduce @@TRANCOUNT en 1 y la transacción sigue activa.
Sintaxis
COMMIT { TRAN TRANSACTION } [ transaction_name @tran_name_variable ] ]
[ ; ]
ROLLBACK)
Revierte una transacción explícita o implícita hasta el inicio de la transacción o hasta un punto de retorno dentro de la transacción.
Sintaxis ROLLBACK { TRAN TRANSACTION } [ transaction_name @tran_name_variable savepoint_name @savepoint_variable ]
[ ; ]
jueves, 23 de octubre de 2008
Suscribirse a:
Entradas (Atom)