Академический Документы
Профессиональный Документы
Культура Документы
TABLA DE CONTENIDO
Introducción…………………………...……………….………………………….....…3
Desarrollo de los Puntos de Laboratorio……………………………….
…….................4
Concurrencia, Transacciones, Acceso y Bloqueo………………………………………9
Transacciones en SQL SERVER…...…...…………………………………………….10
Transacciones en Otro Entorno...…………...……………………………………..…..11
Conclusiones…………..…………...…………………………………….……………20
Referencias Bibliográficas…………………………………………………………….21
INTRODUCCIÓN
El rendimiento de un servidor. Una supervisión eficaz implica tomar
instantáneas periódicas del rendimiento actual para aislar procesos que
causan problemas y recopilar datos de forma continua a lo largo del tiempo
para realizar el seguimiento de las tendencias de rendimiento. Microsoft
SQL Server y el sistema operativo Microsoft Windows 2008 R2 proporcionan
herramientas que le permiten ver las condiciones actuales de la base de
datos y realizar un seguimiento del rendimiento a medida que éstas
cambian. El objetivo de supervisar Bases de Datos, es evaluar el
rendimiento de un Sistema Manejador de Base de Datos (SMBD), para
responder a las transacciones realizadas por los usuarios que solicitan
datos a través de un Sistema Computacional.
La Evaluación de una Base de Datos, es una de las tareas más importantes
de un Administrador de Base de Datos. Este profesional es el encargado de
analizar constantemente el funcionamiento del SMBD, para optimizar el uso
de los recursos, como CPU, Memoria, Disco y Red, para ver su desempeño.
El análisis constante de un SMBD, permite ver su desempeño en todo
momento. Si se detecta que las transacciones no son respondidas con la
rapidez que se necesita o se pierden datos, el Administrador de la Base de
Datos, debe aplicar las medidas correctivas para solucionar las fallas,
analizando su comportamiento a través de herramientas gráficas provistas
por el fabricante de la aplicación.
La estructura del informe está organizada de la siguiente forma:
Supervisión de un Sistema Administrador de Base de Datos. Explica es el
objetivo de supervisar un Sistema Administrador de Base de Datos, como
optimizar la supervisión y que herramientas se pueden utilizar para analizar
su funcionamiento. Para la detección de fallas en el funcionamiento de un
Sistema Administrador de Base de Datos, se entregan recomendaciones
para encontrar donde se encuentra la falla, identificando donde se generan
cuellos de botellas o alta demanda de un recurso como CPU, Memoria, Disco
o Red. Se detallan las herramientas de supervisión que nos provee
Microsoft.
4.2.2. Abrir una consulta nueva en SQL Server 2008 R2 y escribir el siguiente
comando
COMMIT TRANSACTION y verificar de nuevo la cantidad de transacciones
activas y determinar que hace este comando en la base de datos SecSalud.
R/ el resultado es:
Auto-attach to process '[2736] [SQL] localhost' on machine '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
clausulas, dado que este comando se utiliza para Finalizar la transacción si
no se han encontrado errores.
4.2.3. Que sucede al hacer una consulta de todos los datos de la tabla EPS
si anteriormente se ejecuta el siguiente comando:
BEGIN TRANSACTION INSERT
INTO EPS (ideps, nombre, estadoeps)
VALUES (15,’confisena’,1) '
Para la cancelación de la transacción anterior ¿qué comando se debe
utilizar?.
R/ sale un error: Cannot insert explicit value for identity column in table
'EPS' when IDENTITY_INSERT is set to OFF.
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:
BEGIN TRANSACTION
SET IDENTITY_INSERT EPS ON
INSERT INTO EPS (ideps, nombre, estadoeps)
VALUES (15,'confisena',1)
BEGIN TRANSACTION
INSERT INTO persona (idPersona, tipoidentificacion, nombre, apellido,
fechaNacimiento, sexo)
VALUES (1112548, 1, 'Pedro', 'Garcia', 1982-01-27, 'M');
INSERT INTO EPS (nombre, estadoeps)
VALUES ('confinacional',4);
BEGIN TRANSACTION
SET IDENTITY_INSERT EPS ON
INSERT INTO Persona (idPersona, tipoidentificacion, nombre, apellido,
fechaNacimiento, sexo)
VALUES (111245548, 1, 'Pedro', 'Garcia', 1982-01-27, 'M')
INSERT INTO EPS (ideps, nombre, estadoeps)
VALUES (16,'confiacional',4)
Transacciones explícitas
Por el contrario, las Transacciones explícitas son las que se define en el
código T-SQL. Hay que indicar cuando se inician (BEGIN TRANSACTION) y
cuando finalizan (COMMIT TRANSACTION), y pueden albergar un conjunto de
instrucciones dentro de la misma 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
Es el modo de administración de transacciones predeterminado de SQL
Server Database Engine (Motor de base de datos de SQL Server). Cada
instrucción Transact-SQL se confirma o se revierte cuando finaliza. Si una
instrucción termina correctamente, se confirma; si encuentra un error, se
revierte. Una conexión a una instancia de Motor de base de datos funciona
en modo de confirmación automática siempre que no se suplante el modo
predeterminado mediante transacciones explícitas o implícitas.
4.3.1. Abra una nueva consulta. Use la base de datos Secretaria de Salud
En una nueva consulta ejecute sp_lock y revise los resultados.
Otra grafica tipo spline que permite ver en una secuencia mas lineal, la
concurrencia de las transacciones medidas por el Jmeter.
CONCLUSIONES
Los límites de las transacciones de la base de datos o el sistema son
siempre necesarios. Ninguna comunicación con la base de datos puede
darse fuera de una transacción de la base de datos (esto parece confundir a
muchos desarrolladores acostumbrados al modo auto-commit). Siempre use
límites de transacción claros, incluso para las operaciones de sólo lectura.
Dependiendo del nivel de aislamiento y las capacidades de la base de datos,
esto podría requerirse o no, pero no hay inconvenientes si siempre demarca
explícitamente las transacciones. Con seguridad, una transacción única de
base de datos va a funcionar mejor que muchas transacciones pequeñas,
inclusive para leer datos.
REFERENCIAS BILBIOGRAFICAS
• http://basesdedatosatope.blogspot.com.co/2013/04/estrategias-para-el-
control-de.html
• https://unpocodejava.wordpress.com/2011/01/10/tecnicas-de-bloqueo-sobre-
base-de-datos-bloqueo-pesimista-y-bloqueo-optimista/
• https://grimpidev.wordpress.com/2011/02/08/control-de-concurrencia-
multiversion-mvcc/
• https://msdn.microsoft.com/es-es/library/jj856598%28v=sql.120%29.aspx
• http://www.monografias.com/trabajos96/manejo-transacciones/manejo-
transacciones.shtml
• http://copro.com.ar/Aislamiento_%28sistemas_de_base_de_datos%29.html
• http://www.programandoamedianoche.com/2009/04/transacciones-y-
modos-de-aislamiento-en-sql-server-y-adonet/
• http://es.slideshare.net/dantoniocruz/transacciones-27511077
• https://msdn.microsoft.com/es-es/library/ms188929%28v=sql.120%29.aspx
• http://www.devjoker.com/contenidos/catss/292/Transacciones-en-Transact-
SQL.aspx
• http://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-
Transacciones.aspx
• https://msdn.microsoft.com/es-es/library/ms187749%28v=sql.120%29.aspx
• http://www.forosdelweb.com/f87/concurrencia-sql-server-519836/
• https://www.fdi.ucm.es/profesor/fernan/DBD/apuntestema07.pdf
• https://social.msdn.microsoft.com/Forums/es-ES/e785b566-aa9e-4765-8574-
4bf83af65374/control-de-concurrencia?forum=vcses
• http://ell-jh-sena.blogspot.com.co/