+ All Categories
Home > Documents > .- Administracion de transacciones

.- Administracion de transacciones

Date post: 26-Nov-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
19
Administración de transacciones y bloqueos
Transcript

Administración de transacciones y bloqueos

Introducción

Introducción a las transacciones y los bloqueos Administración de las transacciones Bloqueos en SQL Server Administración de los bloqueos

Introducción a las transacciones y los bloqueos

Las transacciones aseguran que varias modificaciones a los datos se procesan juntas

Los bloqueos impiden los conflictos de actualización Las transacciones están serializadas

El bloqueo es automático

Los bloqueos permiten usar los datos al mismo tiempo

Control de simultaneidad

Administración de las transacciones

Recuperación de transacciones y puntos de comprobación

Consideraciones para el uso de transacciones Establecimiento de la opción de transacciones

implícitas Restricciones en las transacciones definidas por el

usuario

Recuperación de transacciones y puntos de comprobación

Recuperación de transacciones Acción requerida

Ninguna

Puntos de comprobación Fallo del sistema

11

22

33

44

55

Confirmar

Deshacer

Confirmar

Deshacer

Consideraciones para el uso de transacciones

Recomendaciones para las transacciones Las transacciones deben ser lo más cortas posible

Preste atención a ciertas instrucciones Transact-SQL

Evite las transacciones que requieran la intervención del usuario

Aspectos del anidamiento de transacciones Se pueden anidar transacciones, pero no se recomienda

Utilice @@trancount para determinar el nivel de anidamiento

Establecimiento de la opción de transacciones implícitas

Una transacción se inicia automáticamente cuando se ejecutan determinadas instrucciones

No se permiten transacciones anidadas La transacción debe completarse explícitamente con

COMMIT o ROLLBACK TRANSACTION De forma predeterminada, esta opción está desactivada

SET IMPLICIT_TRANSACTIONS ON

ALTER DATABASE BACKUP LOG CREATE DATABASE DROP DATABASE

RECONFIGURE RESTORE DATABASE RESTORE LOG UPDATE STATISTICS

Restricciones en las transacciones definidas por el usuario

Ciertas instrucciones no se pueden incluir

Bloqueos en SQL Server

Problemas de simultaneidad impedidos por los bloqueos

Recursos que se pueden bloquear Tipos de bloqueos Compatibilidad de los bloqueos

Problemas de simultaneidad impedidos por los bloqueos

Actualización perdida Dependencia no confirmada (lectura no confirmada) Análisis incoherente (lectura no repetible) Lecturas fantasma

Recursos que se pueden bloquear

ElementoElemento DescripciónDescripción

RID Identificador de fila

Clave Bloqueo de fila dentro de un índice

Página

Extensión

Tabla

Página de datos o página de índice

Grupo de páginas

Tabla completa

Base dedatos Base de datos completa

Tipos de bloqueos

Bloqueos básicos Compartidos

Exclusivos

Bloqueos para situaciones especiales Intención

Actualización

Esquema

Actualización masiva

Compatibilidad de los bloqueos

Los bloqueos pueden ser compatibles o incompatibles con otros bloqueos

Ejemplos Los bloqueos compartidos son compatibles con todos

los bloqueos excepto con los exclusivos

Los bloqueos exclusivos no son compatibles con ningún otro bloqueo

Los bloqueos de actualización son compatibles sólo con los bloqueos compartidos

Opciones de bloqueo en el nivel de sesión Arquitectura de bloqueos dinámicos Opciones de bloqueo en el nivel de tabla Interbloqueos Presentación de información acerca de los bloqueos

Administración de los bloqueos

Opciones de bloqueo en el nivel de sesión

Nivel de aislamiento de las transacciones READ COMMITTED (DEFAULT) READ UNCOMMITTED REPEATABLE READ SERIALIZABLE

Tiempo de espera para los bloqueos Limita el tiempo de espera para un recurso bloqueado Use SET LOCK_TIMEOUT

Arquitectura de bloqueos dinámicos

Bloqueodinámico

TablaPáginaFila

Costo

GranularidadCosto de bloqueoCosto de simultaneidad

Opciones de bloqueo en el nivel de tabla

Úselas con precaución Puede especificar una o más opciones de bloqueo para

una tabla Utilice la parte sugerenciasDeOptimizador de la cláusula

FROM de las instrucciones SELECT o UPDATE Suplanta las opciones de bloqueo en el nivel de sesión

Interbloqueos

Cómo SQL Server termina los interbloqueos Cómo minimizar los interbloqueos Cómo personalizar la configuración de tiempo de espera de

bloqueo

Presentación de información acerca de los bloqueos

Ventana Actividad actual Procedimiento almacenado de sistema sp_lock Analizador de SQL Monitor de sistema de Windows 2000 Información adicional


Recommended