Transacciones, copias de seguridad. Xochitl Clemente Parra Armando Méndez Morales

Documentos relacionados
6. PROGRAMACIÓN CON TRANSACT-SQL

Transacciones en SQL Server Autor: Cesar Manivesa (manivesa)

Recuperación del Sistema

MANUALITO MS-SQL SERVER

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Tema: Disparadores Parte I.

Conceptos de Bases de Datos Relacionales Triggers

Modificación de datos

Índice. iii. Objetivos... 24

Principales rutinas de mantenimiento

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Formato para prácticas de laboratorio

Recuperación de Fallos del Sistema

BASES DE DATOS AVANZADAS Transacciones en MYSQL

8 SQL SERVER 2008 RA-MA

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

Curso Querying Microsoft SQL Server 2014 (20461)

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

En la parte inferior de la pantalla se podrá ver el estado de la última copia y la fecha y hora actual.

Programación de Consultas SQL ADO.Net LDP / DUOC-AV

CURSORES EN SQL SERVER

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

Manipulando Datos. y Transacciones

Interacción con el Servidor Oracle8. Copyright Oracle Corporation, All rights reserved.

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Utilerías. Control de archivos

Capítulo 5. Edición de datos

Modificación de datos

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1

Gestión de datos maestros

Formato para prácticas de laboratorio

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN X

Introducción al SQL de InterBase: DDL y DML

ANÁLISIS TEÓRICO/PRÁCTICO DE LA TRADUCCIÓN DE: INFORMIX-4GL A JAVA ÁNGEL SUÁREZ GARCÍA JUNIO DE 2008

Bases de Datos / Elementos de Bases de Datos Que es un Stored Procedure? Stored Procedures: Ventajas

Organizar una charla de Inducción al Mundo del Trabajo en la sede.

ST31_Querying Microsoft SQL Server

ÍNDICE INTRODUCCIÓN...17

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle

ADMINISTRACIÓN DE BASE DE DATOS

Cómo administrar una cuenta de correo electrónico?

Enlaces relacionados:

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

SQL (Structured Query Language)

Cómo abrir las bases de datos de Aspel-NOI 5.0?

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

Laboratorio Informix. Stored Procedures Triggers

Cómo abrir las bases de datos en Aspel-COI 6.0?

AUTOMATIZACIÓN DE TAREAS REPETITIVAS MEDIANTE GRABACIÓN DE MACROS

Manejo de Transacciones

MANUAL DE USUARIO ADMINISTRACIÓN DE DISTRIBUIDORES

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Cómo abrir la base de datos de Aspel-SAE 5.0?

Manejo de Bases de Datos Mysql en Lenguaje C

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server Barrios

Introducción a Transact-SQL

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

Sistemas de Bases de Datos 2 Practica 1

El Sistema Gestor de Base de Datos (DBMS)

Bases de Datos / Elementos de Bases de Datos 2015

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase

Actualización de versión en red descargada de internet

PASOS PARA CREAR FUNCIONES CON VBA

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

MS_20461 Querying Microsoft SQL Server

8283: Administración y programación en Microsoft SQL Server 2012

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012

VISUALIZACIÓN DE DATOS A PARTIR DE VARIAS TABLAS

Formato para prácticas de laboratorio

POWER POINT Tema 1. Para salir de PowerPoint (suponiendo que se tiene abierto) puede:

Procedimientos almacenados con parametros de salida

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

TRANSACCIONES, AISLAMIENTO Y CANDADOS. Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs.

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1)

Programación de Consultas SQL ADO.Net LDP / DUOC-AV

Guía de instalación del navegador Mozilla Firefox

Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.

MINISTERIO DE SALUD Y PROTECCIÓN SOCIAL BOGOTÁ, AGOSTO DE 2015

Guía 3 1. Objetivo General Conocer las actividades básicas de gestión de un servidor SCADA.

MANUAL DEL USUARIO PARA FIRMAR DOCUMENTOS EN EXCEL /.XLS

... Bases de datos con Excel CAPÍTULO Creación de una Base de Datos

Teknoda - Notas técnicas Tips de AS400 iseries System i Tip Nro. 40

Bases de Datos Relacionales

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Proceso de Informática y Sistemas Código IN-IS-05. Instructivo de Backup Servidor de Correo Electrónico Versión 2. Resolución de Aprobación N 205

Diseño e Implementación de Bases de Datos

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

En este manual se propone utilizar el SkyDrive del correo electrónico del CONALEP, sin embargo también es

Lenguaje de manipulación de datos

Lenguaje SQL en ABAP IV 1-19

Descripción de pasos: PORTAL DE SERVICIOS EN LÍNEA DEL PODER JUDICIAL DE LA FEDERACIÓN PARA CENTROS DE JUSTICIA PENAL.

DOCUMENTACIÓN DE POWER BUILDER 11. CONSULTA DINAMICA Las consultas dinámicas se realizan cuando power builder no soporta una consulta SQL.

Procedimientos Almacenados

Transcripción:

Transacciones, copias de seguridad Xochitl Clemente Parra Armando Méndez Morales

Transacciones Las transacciones hablan de atomicidad. Atomicidad es el concepto que habla de un conjunto de cosas actuando como una unidad En el caso de las bases de datos, se refiere a un grupo de uno o mas consultas que deben ser consideradas como todo o nada.

Transacciones Ejemplo: Considera las siguientes consultas: UPDATE checking SET Balance = Balance 1000 WHERE Account = Sally UPDATE savings SET Balance = Balance + 1000 WHERE Account = Sally Qué sucedería si al momento de ejecutarse, solamente pudiera resolverse una y no la otra?

Transacciones En estos casos es necesario garantizar que si se ejecuta la primera consulta, se ejecute la segunda. Esto no se puede garantizar siempre debido a que pueden haber problemas en el hardware o violaciones en la reglas de integridad. Afortunadamente podemos forzar a que las dos consultas se realicen utilizando transacciones y que si alguna no puede ejecutarse olvide que las anteriores se ejecutaron. Con el propósito de tener la noción de transacción primero se deben definir claramente sus limites. Una transacción tiene puntos de inicio y fin muy claros. Actualmente cada consulta SELECT, INSERT, UPDATE, and DELETE forman parte de una transacción implícita. Incluso si nada mas se tiene una consulta, esa consulta es considerada una transacción, debido a que todo lo que contiene la consulta debe ejecutarse para que se considere ejecutada.

Transacciones Pero cuando tenemos mas de una consulta como en el ejemplo anterior, es necesario marcar el principio y fin de la transacción, así como el éxito o fracaso de la misma. Para hacer eso, hay varias clausulas que podemos usar para marcar esos puntos de la transacción. Podemos: BEGIN a transacción: indicar el punto de inicio COMMIT a transacción: hacer a la transacción permanente, parte irreversible de la base de datos. ROLLBACK a transacción: en esencia, indica que queremos olvidar que sucedió. SAVE a transacción: establece un punto especifico en donde permite hacer un rollback parcial.

BEGIN TRAN El inicio de la transacción es probablemente uno de los conceptos mas fáciles de entender en el proceso de transacciones. Su único propósito es denotar un punto de inicio de la unidad. Si por alguna razón, no es posible o no se desea ejecutar la transacción, es el punto en el cual la actividad de la transacción regresará. Esto es, mas allá de este punto, todo lo que no se logre ejecutar efectivamente será olvidado para la base de datos. La sintaxis es: BEGIN TRAN[SACTION] [<transaction name> <@transaction variable>]

COMMIT TRAN Se utiliza para indicar el fin de una transacción. Cuando una transacción llega a la clausual COMMIT TRAN, se considera que la operación es durable, esto es que el efecto de la transacción es permanente y permanecerá aun si hay un error del sistema. La única forma de deshacer la transacción es creando una nueva que revierta la primera transacción. La sintaxis de COMMIT es muy similar al BEGIN: COMMIT TRAN[SACTION] [<transaction name> <@transaction variable>]

ROLLBACK TRAN Esta instrucción te permite regresar al inicio de la transacción en el caso de que haya ocurrido un error en el proceso de ejecución de la transacción La única forma de evitar que el rollback te envíe al inicio de la transacción es utilizando puntos de recuperacion. La sintaxis de un rollback es la siguiente: ROLLBACK TRAN[SACTION] [<transaction name> <save point name> <@transaction variable> <@savepoint variable>]

SAVE TRAN Para guardar una transacción es esencial crear una marca. Es necesario que la marca tenga un nombre, puede referenciarse en un rollback. Lo interesante es que puedes detener el proceso de rollback exactamente en el punto que deseas solo nombrando la marca. La sintaxis es muy simple: SAVE TRAN[SACTION] [<save point name> <@savepoint variable>] Lo que es necesario recordar sobre las marcas, es que serán limpiados por el rollback. Esto es, si ha guardado 5 punto, una vez que se ejecuta el rollback, todo se habrán eliminado.

Ejemplos CREATE TABLE Test2 (Columna int) --la transacción por si sola no controla el flujo de errores begin tran TranDemo1 insert into test values(2) insert into test2 values(4) commit tran -- se necesita recuperar los errores y manejarlo directamente DECLARE @Error int begin tran TranDemo1 insert into test values(2) SET @Error=@@ERROR if (@Error<>0) begin rollback tran TranDemo1 end insert into test2 values(4) commit tran

Ejemplos --otra forma de controlar los errores declare @Error int begin tran TransDemo2 insert into test values(2) SET @Error=@@ERROR if (@Error<>0) GOTO TratarError insert into test2 values(5) SET @Error=@@ERROR if (@Error<>0) GOTO TratarError commit tran TratarError: --Si ha ocurrido algún error llegamos hasta aquí if (@@Error<>0) begin print 'Ha ocurrido un error. Abortamos la transacción' rollback tran TransDemo2 end

Ejemplos en procedimientos almacenados create procedure ProcTransacciones5 as SET XACT_ABORT ON; begin try begin tran insert into test values(5) insert into test2 values(6) commit tran end try begin catch IF (XACT_STATE()) = -1 BEGIN PRINT 'La transaccion tuvo errores. ' + 'Rollback transaction.' ROLLBACK TRANSACTION; END; IF (XACT_STATE()) > 0 BEGIN PRINT 'La transaccion fue exitosa. ' + 'Committing transaction.' COMMIT TRANSACTION; END; END CATCH; create procedure ProcTransacciones4 @Valor1 int, @Valor2 int as SET XACT_ABORT ON; begin try begin tran insert into test values(@valor1) insert into test2 values(@valor2) commit tran end try begin catch IF (XACT_STATE()) = -1 BEGIN PRINT 'La transaccion tuvo erroes ' +'Rollback transaction.' ROLLBACK TRANSACTION; END; IF (XACT_STATE()) > 0 BEGIN PRINT 'La transaccion es ejecutable' +' Committing transaction.' COMMIT TRANSACTION; END; END CATCH;

Investigación Elaborar una investigación y exposición acerca de Bloqueos en bases de datos Concurrencia en bases de datos

Creación de copias de seguridad Para crear copias de seguridad, siga los siguientes pasos: Seleccione la base de datos, Tareas> Copia de Seguridad

Seleccione los parámetros adecuados y de clic en el botón Aceptar

Aparecerá un mensaje que indica si la copia se ha realizado satisfactoriamente

Restauración de copias de seguridad Para recuperar la base de datos (en caso de haberse perdido), seleccione el apartado bases de datos y la opción Restaurar base de datos

Colocar nuevos valores y seleccionar la opción Desde dispositivo

Al seleccionar la opción, aparecerá una ventana donde se indicara la ubicación del archivo de recuperación, de clic en Agregar para buscar el archivo de respaldo

De clic en Aceptar para regresar a la ventana principal, donde se seleccionará la base de datos a restaurar. De clic en Aceptar para concluir la restauración