Sunteți pe pagina 1din 6

Socialización y evaluación del modelo transaccional en un motor de Bases

de Datos específico.
AA10-Ev4

Presentado por:

Luis Gabriel Bareño Romero


Ronald David Ocoro Mosquera
Cristian Danilo Mejía Zapata
Luisa Fernanda Carrillo González

Tutor:

NELSON LOPEZ
SENA

Especialización Tecnológica Gestión y Seguridad de Base de Datos


2019
INTRODUCCIÓN

Las actividades derivadas del manejo y ejecución de transacciones en una base de


datos, son muchas veces exitosas generando bloqueos que evitan la pérdida de
integridad de los datos por malas prácticas asociadas a las múltiples solicitudes de
usuarios, máxime si estas se realizan en simultaneo y de manera no jerarquizada.
Entre las habilidades de todo Sistema Gestor de Bases de Datos Relaciones tiene
que estar la de permitir al programador crear transacciones. Y aunque el SQL Server
nos permite trabajar con transacciones de manera sencilla y eficaz siempre hay
dificultades
MANEJO DE TRANSACCIONES EN SQL SERVER 2012

Introducción a las transacciones


Una transacción es un conjunto de operaciones Transact SQL que se ejecutan como
un único bloque, es decir, si falla una operación Transact SQL fallan todas. 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.

Sentencias para una transacción


Como decíamos una transacción es un conjunto de operaciones tratadas como una
sola. Este conjunto de operaciones debe marcarse como transacción para que todas
las operaciones que la conforman tengan éxito o todas fracasen.
La sentencia que se utiliza para indicar el comienzo de una transacción es 'BEGIN
TRAN'. Si alguna de las operaciones de una transacción falla hay que deshacer la
transacción en su totalidad para volver al estado inicial en el que estaba la base de
datos antes de empezar. Esto se consigue con la sentencia 'ROLLBACK TRAN'.
Si todas las operaciones de una transacción se completan con éxito hay que marcar
el fin de una transacción para que la base de datos vuelva a estar en un estado
consistente con la sentencia 'COMMIT TRAN'.

Registro de transacciones
Un registro de transacciones es un archivo – parte integral de toda base de datos
SQL Server. Contiene registros producidos durante el proceso de registro en una
base de datos SQL Server. El registro de transacciones es el componente más
importante de una base de datos SQL Server cuando se trata de recuperaciones de
desastres – sin embargo, debe estar no corrupto. Después de cada modificación de
la base de datos – ocurrencia de transacción, un registro es escrito en el registro de
transacciones. Todos los cambios son escritos secuencialmente.

Almacenamiento de registro de transacciones en SMBD SQL Server


Un registro de transacciones almacena cada transacción hecha a una base de datos
SQL Server, excepto algunas que son mínimamente registradas como BULK
IMPORT o SELECT INTO. Internamente está dividido en partes más pequeñas
llamadas Archivos de Registros Virtuales (Virtual Log Files, VLFs). Cuando un VLF
se llena, el registro continúa en el siguiente registro de transacciones disponible. El
archivo de registro de transacciones puede ser representado como un archivo
circular. Cuando el registro llega al final del archivo, inicia de nuevo desde el
principio, pero sólo si todos los requerimientos han sido cumplidos y las partes
inactivas han sido truncadas. El proceso de truncar es necesario para marcar todas
las partes inactivas de modo que puedan ser usadas de nuevo y sobrescritas.
Un registro ya no es necesario en el registro de transacciones si todos los siguientes
son verdaderos:
 La transacción de la que es parte se ha enviado

 Las páginas de la base de datos que cambió han sido todas escritas un disco
por un punto de control

 El registro no es necesario para una copia de seguridad (completa, diferencial


o de registro)

 El registro no es necesario para ninguna característica que lee el registro


(como bases de datos en espejo o replicación).

Modelo de recuperación del log de transacciones en una Base de datos

El registro de transacciones permite las siguientes operaciones:

 Recuperación de transacciones individuales.

 Recuperación de todas las transacciones incompletas cuando se inicia SQL


Server

Recuperación de transacciones individuales


Si una aplicación emite una instrucción ROLLBACK o si el motor de base de datos
detecta un error, como la pérdida de comunicación con un cliente, se usan los
registros para revertir todas las modificaciones efectuadas por una transacción
incompleta.

Recuperación de todas las transacciones incompletas cuando se inicia SQL


Server.
Si un servidor produce errores, las bases de datos pueden quedar en un estado en
que algunas modificaciones no han llegado a escribirse desde la caché del búfer a
los archivos de datos; estos pueden contener modificaciones como resultado de
transacciones incompletas. Cuando se inicia una instancia de SQL Server, se
ejecuta la recuperación de todas las bases de datos. Todas las modificaciones del
registro que no se hayan podido escribir en los archivos de datos se ponen al
día. Las transacciones incompletas que se encuentren en el registro de
transacciones se revierten para asegurar la integridad de la base de datos.
¿Puede funcionar una base de datos SQL Server sin un registro de
transacciones?
No, eso no es posible debido al diseño de SQL Server y al cumplimiento de ACID.
ACID significa atomicidad, consistencia, aislamiento (isolation) y durabilidad. Todas
las transacciones deben cumplir con estas características:
 Una transacción atómica o está completa o no inició.

 Una transacción tiene consistencia en el estado del sistema asegurándose


de que al final de cada transacción el sistema está en un estado válido.

 Cuando una transacción está aislada, aparece como la única acción que el
sistema está manejando al mismo tiempo.

 Una transacción es durable, lo que significa que una vez que ha sido
exitosamente completada, todos los cambios que ha hecho al sistema son
permanentes.

.
REFERENCIAS

 IngSistemas,Transacciones en SQL Server, https://ing-


sistemas.com/2017/05/04/transacciones-en-sql-server/

 Programacion.net, Transacciones en SQL Server,


https://programacion.net/articulo/transacciones_en_sql_server_299

 El registro de transacciones (SQL Server),https://docs.microsoft.com/es-


es/sql/relational-databases/logs/the-transaction-log-sql-server?view=sql-server-2017

S-ar putea să vă placă și