ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Bases De Datos Transacciones


Enviado por   •  17 de Febrero de 2013  •  2.529 Palabras (11 Páginas)  •  658 Visitas

Página 1 de 11

TIPOS DE TRANSACCIONES

Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) es compatible con dos tipos de transacciones: explícitas y de confirmación automática.

Transacciones explícitas

Una transacción explícita es aquella en la que se definen explícitamente el inicio y el final de la transacción. Se pueden especificar mediante instrucciones SQL o funciones API de la base de datos.

Instrucciones SQL

Con SQL Server Management Studio se pueden utilizar las siguientes instrucciones SQL para definir transacciones explícitas:

• BEGIN TRANSACTION

Marca el punto de inicio de una transacción explícita para una conexión.

• COMMIT TRANSACTION

Finaliza correctamente una transacción si no se han encontrado errores. Todos los datos modificados por la transacción se convierten en parte permanente de la base de datos. Se liberan los recursos ocupados por la transacción.

• ROLLBACK TRANSACTION

Borra una transacción en la que se han encontrado errores. Todos los datos modificados por la transacción vuelven al estado en el que estaban al inicio de la transacción. Se liberan los recursos ocupados por la transacción.

ADO.NET y OLE DB

También puede utilizar transacciones explícitas en ADO .NET y OLE DB.

En ADO .NET, use el método BeginTransaction en un objeto SqlCeConnection para iniciar una transacción explícita. Para finalizar la transacción, llame al método Commit o Rollback del objeto SqlCeTransaction.

En OLE DB, llame al método ITransactionLocal::StartTransaction para iniciar una transacción. Llame al método ITransaction::Commit o ITransaction::Abort con fRetaining establecido en FALSE para finalizar la transacción sin iniciar otra de forma automática.

Nota:

Puede crear varias transacciones en una sola conexión ADO .NET y asignarlas a comandos individuales.

Importante:

Cuando se confirma la transacción mediante la API ADO .NET, deben cerrarse todos los lectores de datos y conjuntos de resultados abiertos en la transacción.

Transacciones de confirmación automática

El modo de confirmación automática es el modo de administración de transacciones predeterminado de SQL Server Compact Edition. Cada instrucción SQL se confirma o se deshace cuando finaliza. Una conexión de SQL Server Compact Edition funciona en modo de confirmación automática siempre que este modo predeterminado no haya sido sustituido por transacciones explícitas. El modo de confirmación automática también es el modo predeterminado para ADO .NET y OLE DB.

Una conexión de SQL Server Compact Edition funciona en modo de confirmación automática hasta que una instrucción BEGIN TRANSACTION inicia una transacción explícita. Cuando la transacción explícita se confirma o revierte, SQL Server Compact Edition vuelve al modo de confirmación automática.

Errores en tiempo de ejecución y de compilación

________________________________________

A diferencia de Microsoft SQL Server, SQL Server Compact Edition no procesa las instrucciones en lotes. SQL Server Compact Edition lo hace de una en una y ejecuta cada instrucción por separado. Si una instrucción concreta devuelve un error, esto no afecta al estado de ninguna otra instrucción incluida en el lote. Por ejemplo, si se utiliza SQL Server Management Studio para ejecutar el siguiente conjunto de consultas en SQL Server Compact Edition, las dos primeras se realizarían correctamente, pero en la tercera se produciría un error debido al error de sintaxis.

CREATE TABLE TestData (col int);

INSERT INTO TestData VALUES (1);

INSERTT INTO TestData VALUES (1);

Nota:

Si estas consultas se enviaran como un lote a SQL Server, se produciría un error en todas, ya que se analizarían conjuntamente. El error de sintaxis haría que SQL Server no pudiera crear un plan de ejecución para todo el lote.

Las transacciones de nivel superior en las que tiene lugar una operación no deshacen ni confirman la transacción.

CONTROL DE CONCURRENCIA EN BASES DE DATOS

El control de transacciones concurrentes en una base de datos brinda un eficiente desempeño del Sistema de Base de Datos, puesto que permite controlar la ejecución de transacciones que operan en paralelo, accesando a información compartida y, por lo tanto, interfiriendo potencialmente unas con otras.

El hecho de reservar un asiento en una avión mediante un sistema basado en aplicaciones web, cuando decenas de personas en el mundo pueden reservarlo también, nos da una idea de lo importante y crucial que es el control de concurrencia en un sistema de base de datos a mediana o gran escala.

Otro ejemplo en el que podemos observar la incidencia del control de concurrencia en el siguiente: en una Base de Datos bancaria podría ocurrir que se paguen dos cheques en forma simultánea sobre una cuenta que no tiene saldo suficiente para cubrirlos en su totalidad, esto es posible evitarlo si se tiene un control de concurrencia.

TECNICAS DE RECUPERACIÓN

Descripción dela recuperación y clasificación de los algoritmos de recuperación

Recuperarse al fallo de una transacción significa que la base de datos se restaura al estado coherente mas reciente, inmediatamente anterior al momento del fallo para esto el sistema guarda las información sobre los cambios de las transacciones esta información se guarda en el registro del sistema.

1. Si hay un fallo como la caída del disco, el sistema restaura una copia se seguridad del registro, hasta el momento del fallo.

2. Cuando el daño se vuelve inconsistente, se pueden rehacer algunas operaciones para restaurar a un estado consistente.

En este caso no se necesita una copia archivada.

Actualización Diferida

Actualización inmediata

El proceso de recuperación se entrelaza con funciones del sistema operativo en particular con el almacenamiento en cache o en búfer en la memoria principal,

Normalmente se reserva una colección de búferes en memoria, denominados cache DBMS. Se utiliza un directorio para rastrear los elementos de la base de datos que se encuentra en los búferes.

bit sucio que puede incluirse en la entrada del directorio, para indicar si se ha modificado o no el búfer.

Pin-unpindice que una pagina en cache se esta accediendo actualmente.

Actualización en el lugar (in place) escribe en el bufer el mismo ubicación de disco original .

Shadowing(en la sombra) escribe un bufer actualizado en una ubicación diferente.

BFIM beforeimageimagen antes de la actualización.

...

Descargar como (para miembros actualizados) txt (17 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com