Date post: | 26-Nov-2023 |
Category: |
Documents |
Upload: | independent |
View: | 0 times |
Download: | 0 times |
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