En tecnologías de base de datos, un rollback o reversión es una operación que devuelve a la base de datos a algún estado previo. Las reversiones son importantes para la integridad de la base de datos, a causa de que significan que la base de datos puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas. Son cruciales para la recuperación ante errores de un servidor de base de datos, como por ejemplo un cuelgue del equipo. Al realizar una reversión cualquier transacción que estuviera activa en el tiempo del cuelgue es revertida y la base de datos se ve restaurada a un estado consistente.

En SQL, ROLLBACK es un comando que causa que todos los cambios de datos desde la última sentencia BEGIN WORK, o START TRANSACTION sean descartados por el sistema de gestión de base de datos relacional (RDBMS), para que el estado de los datos sea revertida a la forma en que estaba antes de que aquellos cambios tuvieran lugar.

Una sentencia ROLLBACK también publicará cualquier punto de recuperación existente que pudiera estar en uso.

En muchos dialectos de SQL, los ROLLBACK son específicos de la conexión. Esto significa que si se hicieron dos conexiones a la misma base de datos, un ROLLBACK hecho sobre una conexión no afectará a las demás conexiones. Esto es vital para el buen funcionamiento de la concurrencia en la base de datos.

La funcionalidad de la reversión está normalmente implementada en un registro de transacciones, pero puede también estar implementada mediante control de concurrencia multiversión.

Enlaces externos

editar

📚 Artikel Terkait di Wikipedia

Transact-SQL

CATCH -- roll back the transaction because of error ROLLBACK TRAN; END CATCH; «T-SQL Improvements in SQL Server 2012». InfoQ (en inglés). Consultado el 16

SQL Server Compact

BEGIN, COMMIT y ROLLBACK TRANSACTION de T-SQL así como a través del objeto SqlCeTransaction expuesto en el espacio de nombres System.Data.SqlServerCe. //Ejemplo

Commit

realizar cambios de una transacción es una reversión o rollback. Se puede enviar una sentencia ROLLBACK de reversión de transacción, la cual deshace todo el

Mecanismos de almacenamiento (MySQL)

transaccionales (COMMIT y ROLLBACK). La distribución fuente MySQL/MariaDB incluye un código BDB preparado para funcionar con MySQL, ya que no se puede usar

Savepoint

recuperación haya sido declarado pueden ser deshechos emitiendo una sentencia ROLLBACK TO SAVEPOINT name. Emitiendo RELEASE SAVEPOINT name causará que el punto

Lenguaje de control de datos

en PostgreSQL, la ejecución de un comando DCL forma parte de una transacción, por lo que puede ser deshecha mediante el comando ROLLBACK. Base de datos

Trigger (base de datos)

10,1) rollback transaction end [1] Disparadores en MySQL (documentación oficial) Microsoft SQL Server CREATE TRIGGER (en inglés) Microsoft SQL Server

Cursor (base de datos)

después de un ROLLBACK, aunque algunos SGBD se desvían de este comportamiento estándar y mantienen abierto estos cursores después de un ROLLBACK. DECLARE cursor_name