Sie sind auf Seite 1von 7

REPUBLICA DE COLOMBIA

SERVICIO NACIONAL DE APRENDIZAJE - SENA

GESTIÓN Y SEGURIDAD DE BASES DE DATOS

CENTRO DE SERVICIOS FINANCIEROS

AA10-Ev3- MANEJO DE TRANSACCIONES, BLOQUEOS Y CONTROL DE


CONCURRENCIA EN UN MOTOR DE BASE DE DATOS ESPECÍFICA

Presentado a:

Señor Tutor Javier Mauricio Álvarez Vargas

Por alumno:

Martin Cartagena Polo


Curso número: (1881778)

Celular / Wattsupp: 304-404-18-52


Skype: mcartagenapolo
Correo: martincartagenapolo@yahoo.com
www.youtube.com/guapucheros
www.facebook.com/lavozdelosguapucheros
MANEJO TRANSACCIONAL DE UNA BASE DE DATOS SEGÚN EL MOTOR
Conceptos:
Una transacción es un evento secuencial de cambios a una base de datos, las
transacciones son inserción, borrado y actualización, pueden generarse
transacciones más complejas.
Las transacciones tienen las siguientes características:
Atomicidad: Todas las transacciones dentro de la sentencia deben ejecutarse
sin errores si por algún motivo no se cumple, la transacción aborta en el punto
de ruptura y deshace todos los cambios.
Consistencia: Se debe asegurar que todos los cambios en la base de datos
estén guardados.
Aislamiento: Dos transacciones no pueden estar visualizando información al
mismo tiempo.
Durabilidad: La transacción debe asegurar que los cambios se mantengan así
el sistema falle.
Para dirigir el flujo y mantener sus propiedades existen las siguientes sentencias
en SQL:
Commit: Guarda los cambios realizados
Rollback: Deshace los cambios realizados
Savepoint: Crea un punto de restauración dentro de un conjunto de
transacciones para luego deshacer los cambios si es necesario

Manejo de transacciones:
Ejemplo: Seleccionaremos la tabla SecSalud, daremos clic derecho sobre esta
tabla y clic en mostrar las primeras filas para evidenciar la información.

Código empleado: BEGIN TRANSACTION


INSERT INTO Estado EPS (descripción) VALUES ('Sin registro')

Código: BEGIN TRANSACTION


UPDATE Estado EPS SET descripción='Arbitrada' WHERE descripción='Intervenida'
El comando COMMIT TRANSACTION le confirma al Sistema Manejador de
Bases de Datos SMBD que las modificaciones ejecutadas anteriormente deben
ser permanentes.
Al consultar las sentencias anteriores, se realizó un nuevo registro en la tabla
con descripción “Sin registro” y se actualizo el registro con descripción
“Intervenida” por “Arbitrada”.

Que sucede al consultar datos de la tabla EPS si ejecutamos el comando?


BEGIN TRANSACTION
INSERT INTO EPS (ideps, nombre, estadoeps)
VALUES (15,'confisena',1)

Cancelar la transacción ejecutamos la sentencia: ROLLBACK TRANSACTION

BLOQUEOS
Abra una nueva consulta.
Use la base de datos Secretaria de Salud.
En una nueva consulta ejecute sp_lock y revise los resultados.
Activo el informe de transacciones de bloqueo y verifico no hay bloqueo activo.
Clic derecho en la bd -> informe -> informe estándar -> Todas las transacciones
de bloqueo.

Un bloqueo se genera modificando datos modificados por otros usuario.

LIBERAR UN BLOQUEO
Para anular bloqueos de una base de datos SQL pasos descritos:
Abrir la consola de SQL Server.
Ésta se encuentra en el menú "Inicio" de Windows, bajo el menú "SQL Server".
Clic en "SQL Server Management Studio" para abrir la consola.
Escribir "sp_who 'active' " en el espacio de trabajo y presiona la tecla "Entrar".
Esto muestra todos los procesos, nombres de usuario y sesiones de ID
asociadas a ellos. Identificar cuál ID está provocando el bloqueo.

Identificar la ID de sesión para el registro bloqueado.


En lista que apareció, luego buscamos el usuario que tiene el bloqueo de registro
y apuntar la ID de sesión. Esta ID para los siguientes pasos.
Escribir "Kill <ID de sesión>" en la consola.
Esto removerá el bloqueo de registro en la fila de la tabla. Una vez bloqueo
removido, abrir la tabla para comprobar bloqueo eliminado.
Detener y reiniciar la aplicación del problema al consultar la tabla.
Es necesario si el bloqueo de registro estaba provocando problemas con una
aplicación de escritorio. Esto reestablece la aplicación causante de errores.

Solucionar el bloqueo con ROLLBACK TRANSACTION, para que las sentencias


guarden los cambios permanente, se coloca al final de la sentencia un COMMIT
TRANSACTION.

FORMAS DE HACER SEGUIMIENTO A LAS TRANSACCIONES

La herramienta que trae por defecto SQL en el cual a través de una serie de
informes puede realizarse el seguimiento.
Abra informe de transacciones de bloqueo para verificar que no hay ningún
bloqueo activo. Clic derecho en su bd -> informe -> informe estándar -> Todas
las transacciones de bloqueo.

No hay transacciones de bloqueo para la base de datos (SecSalud).

USOS DEL DISCO


BIBLIOGRAFIA: (WEBGRAFIA)

Fotos tomadas de internet

http://ell-jh-sena.blogspot.com/

file:///C:/Users/Martin/Downloads/406636421-Luis-Robles.pdf

CONCLUSIONES:
En esta lección hemos realizado un repaso por los procedimientos de mayor
relevancia montando, probando y dejando los ajustes del caso para consolidar
bases de datos. Por eso la importancia y la dificultad para cumplir con los
requerimientos planteados en cuanto a transacciones, bloqueos y desbloqueos,
así como los controles para determinar la concurrencia.

Martin Cartagena Polo

Das könnte Ihnen auch gefallen