Transacciones en SQL
Folien in diesem Satz (8)
-
- 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 solo 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
-
INSTRUCCIONES DE UNA TRANSACCION
- BEGIN TRANSACTION (Transact-SQL)
- BEGIN
- TRANSACTION representa un punto en el que los datos a los que hace
- referencia una conexión son lógica y físicamente coherentes.
- Si
- se producen errores, se pueden revertir todas las modificaciones
- realizadas en los datos después de BEGIN TRANSACTION para devolver los
- datos al estado conocido de coherencia.
- Cada transacción
- dura hasta que se complete sin errores y se emite COMMIT TRANSACTION
- para hacer que las modificaciones sean parte permanente de la base de
- datos, o hasta que se produzcan errores y se borren todas las
- modificaciones con la instrucción ROLLBACK TRANSACTION.
- SINTAXIS
- BEGIN { TRAN | TRANSACTION }
- [ { transaction_name | @tran_name_variable }
- [ WITH MARK [ 'description' ] ]
- ]
- [ ; ]
-
INSTRUCCIONES DE UNA TRANSACCION
- COMMIT TRANSACTION (Transact-SQL)
- 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 solo reduce @@TRANCOUNT en 1 y la transacción sigue activa.
- SINTAXIS
- COMMIT [ { TRAN | TRANSACTION } [ transaction_name | @tran_name_variable ] ] [ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ]
- [ ; ]
-
INSTRUCCIONES DE UNA TRANSACCION
- ROLLBACK TRANSACTION (Transact-SQL)
- 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.
- Puede
- usar ROLLBACK TRANSACTION para borrar todas las modificaciones de datos
- realizadas desde el inicio de la transacción o hasta un punto de
- retorno. También libera los recursos que mantiene la transacción.
- SINTAXIS
- ROLLBACK { TRAN | TRANSACTION }
- [ transaction_name | @tran_name_variable
- | savepoint_name | @savepoint_variable ]
- [ ; ]
-
INSTRUCCIONES DE UNA TRANSACCION
- SAVE TRANSACTION (Transact-SQL)
- Establece un punto de retorno dentro de una transacción
- savepoint_name
- Es el nombre asignado al punto de retorno.
- Los
- nombres de los puntos de retorno deben ajustarse a las reglas para los
- identificadores, aunque están limitados a 32 caracteres.
- transaction_name siempre distingue mayúsculas de minúsculas, incluso cuando la instancia de SQL Server no distingue mayúsculas de minúsculas.
- SINTAXIS
- SAVE { TRAN | TRANSACTION } { savepoint_name | @savepoint_variable }
- [ ; ]
-
INSTRUCCIONES DE UNA TRANSACCION
- SET TRANSACTION
- Establece las características de la transacción actual. No tiene efecto en cualquier transacción subsecuente.
- SET
- SESSION CHARACTERISTICS define las características por default para
- todas las transacciones subsecuentes de una sesión. Estos defaults
- pueden se sobre escritos por SET TRANSACTION para una transacción
- individual
- SINTAXIS
- SET TRANSACTION transaction_mode [, ...]
- SET TRANSACTION SNAPSHOT snapshot_id
- SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]
- where transaction_mode is one of:
- ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
- READ WRITE | READ ONLY [ NOT ] DEFERRABLE
-
Informationen
- Beschreibung
- DEFINICIONES DE COMMIT, ROLLBACK, SAVE POINT, SET TRANSACTION
- Erstellt von
- Francisco Antonio Rodriguez Rodriguez
- Aufrufe
- 210
- Tags
- Bewertung
