Beruflich Dokumente
Kultur Dokumente
MANEJO DE TRANSACIONES,
BLOQUEOS Y CONTROL DE
CONCURRENCIA EN UN
MOTOR DE BASE DE DATOS
ESPECIFICO
GESTION Y SEGURIDAD DE BASE DE
DATOS
INTRODUCCION
Los detalles del almacenamiento no necesitan ser conocidos por el usuario: la base de datos
maneja la correspondencia entre los registros u objetos abstractos del usuario y su disposición
en el medio físico.
Cada base de datos actúa como un manejador de recursos y de ese modo provee operaciones
ACID sobre sus datos. También provee un conjunto de herramientas para visualizar los datos
y generar reportes.
2
1. OBJETIVOS
Conocer algunas herramientas que ayudan a migrar los datos de un SMBD a otro.
los datos
Abrir una consulta nueva en SQL Server 2008 R2 y escribir el siguiente comando
'localhost' succeeded. The thread 'localhost [54]' (0x1610) has exited with code 0 (0x0).
The program '[2736] [SQL] localhost: localhost' has exited with code 0 (0x0).
Este comando por sí solo no hace nada, debe ser acompañado de otras cláusulas, dado
que este comando se utiliza para Finalizar la transacción si no se han encontrado errores.
Que sucede al hacer una consulta de todos los datos de la tabla EPS si anteriormente se
R/: sale un error: Cannot insert explicit value for identity column in table 'EPS' when
Esto ocurre porque sql server no permite insertar datos a llaves primarias de forma
normal: hay utilizar el comando, para que deje insertar datos de forma de inserción
explicita en la tabla a una pk: el comando a utilizar es: SET IDENTITY_INSERT EPS.
Ejemplo:
4
BEGIN TRANSACTION
VALUES (15,'confisena',1)
Que le falta a la siguiente transacción para que se efectúen los cambios en la base de datos
Secretaria de Salud.
BEGIN TRANSACTION
fechaNacimiento, sexo)
VALUES ('confinacional',4);
R/: lo que hay que hacer es agregar el comando: SET IDENTITY_INSERT [tabla] ON,
para que esta transacción pueda correr y arreglar campos tabla persona:
fechaNacimiento, sexo)
5
VALUES (16,'confiacional',4)
explicita o automática.
TRANSACCIONES EXPLÍCITAS
Por el contrario, las Transacciones explícitas son las que se define en el código T-SQL. Hay
transacción.
Cuando se produce el COMMIT, se hacen efectivos los cambios en los ficheros de datos
(.mdf y .ndf). Mientras no se realiza el COMMIT las sentencias de los cambios se guardan
en el log de transacciones (.log), que gracias a este es posible revertir los cambios si fuese
necesario...
AUTOMÁTICA
Engine (Motor de base de datos de SQL Server). Cada instrucción Transact-SQL se confirma
6
encuentra un error, se revierte. Una conexión a una instancia de Motor de base de datos
Abra una nueva consulta. Use la base de datos Secretaria de Salud En una nueva
Se verifican las consultas definidas en el laboratorio para comenzar la parte de trabajo con
bloqueos de transacciones:
BLOQUEOS
Use la base de datos Secretaria de Salud En una nueva consulta ejecute sp_lock y revise los
resultados. Abra informe de transacciones de bloqueo para verificar que no hay ningún
7
bloqueo activo. Clic derecho en su bd -> informe -> informe estándar -> Todas las
transacciones de bloqueo.
8
JMETER.
van a persistir se verifica que no se han modificado por otras transacciones simultáneamente;
Pesimista: Para los datos modificados, realizar un bloqueo de los mismos. Impendiendo que
(commitados).
Read committed: No dejan leer valores modificados por otras transacciones no persistidos
(commitados al releer datos que se han omitido por otra transacción durante la ejecución de
la base de datos; de esta manera la transacción lee los datos referidos a ese estado. No impide
Repeatable read: Evita el problema del READ COMMITED. REPEATABLE READ evita
que otra transacción modifique los datos modificados por nuestra transacción. Dado que los
datos; no al leerlos. Si queremos activarlo en su lectura con debemos usar la cláusula WITH
UPDLOCK.
READ_COMMITTED_SNAPSHOT OFF
10
En Hibernate, por defecto tiene concurrencia optimista. Pero se puede habilitar concurrencia
pesimista.
proporcionan las herramientas comerciales. Las principales ventajas que aporta son: Permite
generar un informe de pruebas de resultados de manera automática sin necesidad de tratar los
datos en hojas de cálculo. Permite estudiar de manera gráfica la relación de los diferentes
productividad, y también la capacidad de análisis para dotar de mayor calidad las pruebas de
rendimiento.
PRÁCTICA.
Password: 123
Anexo la pantalla de conexión de sql server, donde se detalla que no conecto con
Se define la conexion con el controlador jdb, quien permitira acceder al Sql server:
Aquí una vez dato el Play en ejecutar, vemos como el grafico comienza a tener cambios y
ver los resultados de las transacciones o consultas de forma graficas definida en los hilos de
conexión.
Anexo reporte resumen, un reporte más numérico que permite verificar varianza de datos y
concurrencia.
17
Otra grafica tipo spline que permite ver en una secuencia más lineal, la concurrencia de las
Anexo el monitor de rendimiento de Sql server en función, dentro del menú performance
CONCLUSIÓN
De acuerdo con el diseño lógico presentado, podemos concluir que se pueden suplir las
necesidad de la organización en este caso la alcaldía de san Antonio del Sena cumpliendo
con la labor de ayudar a los funcionarios municipales para que brinden un mejor servicio a
las personas del pueblo ya que se pueden obtener un fácil acceso a la información,
confiabilidad en los datos de cada una de las secretarias y estas podrán disponer